Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/08/2011, 08:41
Avatar de buzu
buzu
 
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 18 años, 1 mes
Puntos: 122
El lio con setInterval

Bueno, esto inicio como una charla en twitter, pero creo que twitter pone limitaciones que no nos permiten expandirnos como quicieramos.

La pregunta inicial fué
Cita:
@john_acosta, @panino5001 saben si cuando usas setInterval, este pasa un parametro a la funcion que se llama?
Creo que esto se mal interpretó y se creyó que yo intentaba pasar una variable a setInterval. Esto no es así. Lo que yo encontré fué más intrigante, vean por si mismos:

Si usan fiefox, precionen
Código:
 ctrl + shit + k,
si no usan firefox, pues haganle como quieran XD

Ya abierta la consola de firefox pongan esto en el area de texto:
Código Javascript:
Ver original
  1. var a = function(p){alert(p);}; intervalID = setInterval(a, 2000);

ahora vean que el alert muestra un número. A mi al inicio me da 0, y me imagino que a ustedes también, pero después el numero empieza a cambiar, y no en una forma que tenga sentido aparente.

Yo dedusco que el número tiene que ver con el interval, pero no estoy seguro. Esto lo noté ayer con un script que hacía lo siguiente.

Código Javascript:
Ver original
  1. var func = function(para){
  2.      //some code here...
  3.      if(para){
  4.           para()
  5.      }
  6. }
  7.  
  8. intervalID = setInterval(func, 1000);

esto tiraba un error diciendo que
Código:
para
no es una función. Investigando el asunto, (unos cientos de lineas de código) pude reducir el problema a lo mencionado anteriormente.

Este es el lio del interval y me ha sorprendido. No conocía este lado de js.

Alguien tiene más info al respecto?

Cabe aclarar aquí que no estoy buscando una soulución al problema ya que de momento y sin pensar se me ocurren dos y son muy triviales. Yo lo que quiero es analizar el problema a fondo y determinar si esto es comportamiento esperado o un bug en el interprete, o otro de los muchos bugs del lenguage.
__________________
twitter: @imbuzu