Пример:
var a = 10;
function b() {
var c = 20;
function d() {
var e = 30;
alert([a, c, e, f]);
f++;
e++;
}
eval('var f = 40;');
d();
c++;
return d;
}
b()();
Видно, что "e++" не имеет смысла, т.к. "e" определяется каждый раз в VO(d), однако, "f++", "c++" "eval('var f = 40;');" - воздействуют на VO(b), и, второй вызов "d" (через b()()) даёт это понять.
Кстати, обратите ещё раз на то, что такое замыкание (например, на b()()). Обратите, закрепите, и не надо больше приравнивать это лишь к "переменной-ссылке на FE".
Сообщение от kefi
|
ответа на несколько раз поставленный вопрос тоже не дают
|
Дело в вопросе. Уверен, после примеров неясности отпадут (ну, или, во всяком случае, их станет меньше).
update: а, уже выше есть пример.