У меня проблема, когда у меня есть рекурсия внутри цикла for:
function func(node) {
for(var i = 0; i < node.children.length; i++) {
func(node.children[i]);
}
}
Очевидно, что, поскольку JavaScript не имеет области блока, одна и та же переменная я изменяется каждый раз, когда вызывается функция. Каков наилучший способ исправить это? Предположим, что обычный EcmaScript 3 и я не могу использовать JavaScript 1.7 "let".
Я знаю, что это было задано раньше, но другие вопросы, похоже, не показывают рекурсию, они показывают один вызов функции, где можно использовать закрытие.