Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/09/2007, 17:49
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 4 meses
Puntos: 45
Re: Doevents en Javascript

¿Es muy pesado el código? La verdad es que 20 000 iteraciones con una simple función que llames ya tarda demasiado...
Código PHP:
function cuadrado(x) {
    return 
x*x;
}

var 
inicio = new Date();
var 
str "";
for(var 
i=0i<20000i++) {
    
str += (i+" al cuadrado es "+cuadrado(i)+". <br/>");
}
document.write(str);
document.write("He tardado "+(new Date().getTime() - inicio.getTime() )+" ms."); 
Me ha dicho en IE6
Cita:
He tardado 60047 ms.
Y eso es evidentemente largo para cualquiera.

Lo que suelo hacer en esos casos es hacer un setTimeout() de la función que quiero iterar, le pongo un intervalo de 100ms. Al final tarda más en ejecutar la tarea, pero puedo ver qué ocurre sin que el navegador se me bloquee.

Claro que, no se puede hacer eso en todos los casos.

¿De qué se trata? Te dejo un link: optimizar javascript que quizás te pueda venir bien leer para optimizar cosas pesadas.


Un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.