Показать сообщение отдельно
  #12 (permalink)  
Старый 21.09.2009, 13:34
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от Riim
если бы функция создаваемая через "new Function" запоминала "a" и "b", то вывелось бы 11.
И, соответственно, получилось бы замыкание...

В статье про замыкания есть такой код:
function addEvents2(divs) {
    for(var i=0; i<divs.length; i++) {    
        divs[i].innerHTML = i
        divs[i].onclick = function(x) {
            return function() { alert(x) }
        }(i)
    }
}


Т.е. как я понял,временная функция, после исполнения, возвращает уже функцию-обработчик, которая не использует внешних [[scope]] и, соответственно, нет никакого замыкания...
Хоть бы это было так
Ответить с цитированием