¿Qué herramientas se pueden utilizar para transmitir conceptos como el alcance y cierre de variables de JavaScript claramente en algo similar a los diagramas de secuencia UML? Por ejemplo, ¿cómo puede código como el siguiente: (the Infamous Loop Problem)Diagramas para las funciones de JavaScript
var arr = [];
for(var i=0; i<10; i++) {
arr.push(function() { alert(i); });
}
for(var j=arr.length;j--;) {
arr[j]();
}
... se explicará claramente en un diagrama similar a ésta:
Ese código no hace lo que usted cree. Cada alerta alertará el último valor de 'i'. Es el clásico problema de la función en un bucle. –
Su ejemplo alertará '10' en cada iteración. Ver http://stackoverflow.com/questions/5555464/javascript-closure-of-loop – lawnsea
@lawnsea @Matt Ball - Lo usé exactamente por esa razón; porque es el ejemplo clásico. –