Какие инструменты могут использоваться для передачи понятий, таких как масштабирование и закрытие переменных JavaScript, что-то похожее на диаграммы последовательности UML? Например, как можно закодировать как следующее: (the Infamous Loop Problem)Диаграммы для функций JavaScript
var arr = [];
for(var i=0; i<10; i++) {
arr.push(function() { alert(i); });
}
for(var j=arr.length;j--;) {
arr[j]();
}
... быть четко объяснено в схеме, подобной этой:
Этот код не делает то, что вы думаете. Каждое предупреждение будет предупреждать о последнем значении 'i'. Это классическая проблема «функция-в-петле». –
Ваш пример предупредит «10» на каждой итерации. См. Http://stackoverflow.com/questions/5555464/javascript-closure-of-loop – lawnsea
@lawnsea @Matt Ball - я использовал его именно по этой причине; потому что это классический пример. –