Сегодня у меня была дискуссия с коллегой о вложенных функциях в Javascript:
function a() {
function b() {
alert('boo')
}
var c = 'Bound to local call object.'
d = 'Bound to global object.'
}
В этом примере в тестах указывается, что b недоступно вне тела a, как и c. Однако d - после выполнения a(). Поиск точного определения этого поведения в ECMAScript v.3 standard, я не нашел точной формулировки, которую я искал; что не указано в Sec.13 p.71, является ли объект, к которому должен привязываться объект функции, созданный оператором объявления функции. Я что-то пропустил?