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
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 originalvar 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 originalvar func = function(para){
//some code here...
if(para){
para()
}
}
intervalID = setInterval(func, 1000);
esto tiraba un error diciendo que
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.