Foros del Web » Programando para Internet » Javascript »

detener script? Ni break ni exit ? cual es?

Estas en el tema de detener script? Ni break ni exit ? cual es? en el foro de Javascript en Foros del Web. estoy tratando de detener la ejecucion de un script en un momento dado exit y break me dan errores cuando carga la pagina. tambien probe ...
  #1 (permalink)  
Antiguo 19/07/2007, 11:28
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 18 años, 4 meses
Puntos: 15
detener script? Ni break ni exit ? cual es?

estoy tratando de detener la ejecucion de un script en un momento dado

exit y break me dan errores cuando carga la pagina.

tambien probe ejecutando otra function y dentro de esa funcion no escribir return; pero retorna igual

function 1()
{

otrafunc();
alert ("hola he retornado de todas formas");
}
function otrafunc()
{

}

cual es la forma correcta?
  #2 (permalink)  
Antiguo 19/07/2007, 12:10
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 3 meses
Puntos: 38
Re: detener script? Ni break ni exit ? cual es?

Hola chefnelone.

El comando break() te permite romper un ciclo (for o while) o saltar fuera de un bloque switch. Nada mas.

El comando exit no lo he visto asi que ni idea.

Mi recomendación si deseas interrumpir un script es que lo hagas "a mano", es decir, pon una variable booleana que indique si estas abortando o no y llena tu código de condiciones que te permitan salir apenas se cumpla la condición.

Asi lo hago yo asi que es lo único que te puedo proponer. No se si quizás alguien mas te pueda dar un comando salvador.

Saludos.



Nota: No entiendo muy bien cual es el sentido de las funciones que pones como ejemplo.
  #3 (permalink)  
Antiguo 19/07/2007, 21:52
Avatar de D4RIO  
Fecha de Ingreso: julio-2007
Mensajes: 8
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: detener script? Ni break ni exit ? cual es?

Dos cosas:


Primero: Ahi no tenés un bucle, y no retorna, el tema es que JavaScript no es lineal, es decir que no sucede como en C. En JavaScript podés llamar una función al principio y definirla al final.

Segundo: Eso está mal escrito, descargate Notepad++ y selecciona como lenguaje JavaScript, ahi los colores te van a delatar los errores cometidos. En primer lugar, el identificador de la función NO PUEDE SER UN NUMERO, debe ser una letra, Guion Bajo (_) o simbolo de Dolar ($).
  #4 (permalink)  
Antiguo 20/07/2007, 03:54
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 18 años, 4 meses
Puntos: 15
Re: detener script? Ni break ni exit ? cual es?

Cita:
Iniciado por Kaopectate Ver Mensaje
Hola chefnelone.

Mi recomendación si deseas interrumpir un script es que lo hagas "a mano", es decir, pon una variable booleana que indique si estas abortando o no y llena tu código de condiciones que te permitan salir apenas se cumpla la condición.

Asi lo hago yo asi que es lo único que te puedo proponer. No se si quizás alguien mas te pueda dar un comando salvador.

Nota: No entiendo muy bien cual es el sentido de las funciones que pones como ejemplo.

Me darias un ejemplo de como hacer esto de la variable booleana

gracias
  #5 (permalink)  
Antiguo 20/07/2007, 08:26
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 18 años, 4 meses
Puntos: 15
Re: detener script? Ni break ni exit ? cual es?

He podido detener un script usando:
return;

(puede ser una solucion cuando la funcion no es ejecutada desde otra funcion no?)

alguien puede probar y decirme si tiene algun problema.

testeado en ie6 ie7 y safari

y no veo ningun error.
  #6 (permalink)  
Antiguo 20/07/2007, 14:40
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 3 meses
Puntos: 38
Re: detener script? Ni break ni exit ? cual es?

Hola de nuevo chefnelone.

Aqui te pongo un ejemplo de como cancelar un ciclo (y una función usando tus propias variables. Espero que te sirva.

Código PHP:
<html>
 <
head>
  <
script language="javascript">

   function 
ejecutalo(){
    var 
bCancelado false;
    var 
0;
    
with (document.frm){
     
memo.value '';
     
// El ciclo natural es hasta el valor "Máximo"
     
while (!bCancelado && (<= parseInt(max.value10))){
      
memo.value memo.value ', ' String(i);
      
// La variable "bCancelado" indica que el ciclo y la función deben ser abortados.
      
bCancelado = (== parseInt(stop.value10));
      
i++;
     }
     if (!
bCancelado){
      
// Este código no se debe ejecutar si la función fue cancelada.
      
alert('Ok');
     }
    }
   }

  
</script>
 </head>
 <body>
  <form name='frm'>
   <table>
    <tr>
     <td colspan='2' width='400'>
      Este ejemplo va a escribir una secuencia de numeros desde cero hasta el numero que se coloque como Máximo.
      Sin embargo, cuando el contador alcance el valor señalado para cancelar debe romper los ciclos y salir de la función.<br>
     </td>
    </tr>
    <tr>
     <td colspan='2'>
     <textarea name='memo' style='width: 400; height: 200'></textarea>
     </td>
    </tr>
    <tr>
     <td align='right'>
      Máximo:
     </td>
     <td>
      <input type='text' name='max' value='200'><br>
     </td>
    </tr>
    <tr>
     <td align='right'>
      Cancelar a la altura de:
     </td>
     <td>
      <input type='text' name='stop' value='250'>
     </td>
    </tr>
    <tr>
     <td colspan='2' align='center'>
      <input type='button' value='Ejecutar' onclick='ejecutalo()'>
     </td>
    </tr>
   </table>
  </form>
 </body>
</html> 
Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:49.