Показать сообщение отдельно
  #10 (permalink)  
Старый 29.01.2010, 13:03
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Сообщение от x-yuri
ну так здесь нету никакого завершения внешней функции из вложенной.
Зависит от реализаций, в данном случае читай - завершение функции getElement из двойного вложения: метода .forEach и функции-аргумента. В ES такое невозможно. В других языка (например, Smalltak) - возможно.

Сообщение от Kolyaj
Dmitry A. Soshnikov,
че-та я тоже пример не понял.
А почему должен быть 2?
Нет, не должен, конечно. Для ES должен быть, правильно, null. Но вопрос в том, что иногда это может быть удобно, и, что в других языках предусмотрены для этого конструкции.

Вот этот раздел: http://en.wikipedia.org/wiki/Closure...in_sema ntics (там пониже как раз примеры на Ruby с разными вариациями return-a приводится)

Но речь идёт только о возможном завершении стека вызова (когда контексты существуют); и в Ruby можно сделать ошибку return-a, когда он не сможет определить, в какой контекст возвращать.
__________________
Тонкости ECMAScript

Последний раз редактировалось Dmitry A. Soshnikov, 29.01.2010 в 13:05.
Ответить с цитированием