var window
Ðаков бÑÐ´ÐµÑ ÑезÑлÑÑÐ°Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑÑого кода? ÐоÑемÑ?
function test() {
alert( window );
var window = 5;
alert( window );
}
test();
РезÑлÑÑаÑом бÑÐ´ÐµÑ undefined, заÑем 5.
function test() {
alert( window );
var window = 5;
alert( window );
}
test();
Такой ÑезÑлÑÑÐ°Ñ Ð¿Ð¾Ð»ÑÑилÑÑ Ð¿Ð¾ÑомÑ, ÑÑо window â ÑÑо глобалÑÐ½Ð°Ñ Ð¿ÐµÑеменнаÑ, но ниÑÑо не меÑÐ°ÐµÑ Ð¾Ð±ÑÑвиÑÑ ÑакÑÑ Ð¶Ðµ локалÑнÑÑ.
ÐиÑекÑива var window обÑабоÑаеÑÑÑ Ð´Ð¾ наÑала вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð´Ð° ÑÑнкÑии и бÑÐ´ÐµÑ Ñоздана локалÑÐ½Ð°Ñ Ð¿ÐµÑеменнаÑ, Ñ.е. ÑвойÑÑво LexicalEnvironment.window:
LexicalEnvironment = {
window: undefined
}
Ðогда вÑполнение кода наÑнÑÑÑÑ Ð¸ ÑÑабоÑÐ°ÐµÑ alert, он вÑÐ²ÐµÐ´ÐµÑ Ñже локалÑнÑÑ Ð¿ÐµÑеменнÑÑ, коÑоÑÐ°Ñ Ð½Ð° ÑÐ¾Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñ Ñавна undefined.
ÐаÑем ÑÑабоÑÐ°ÐµÑ Ð¿ÑиÑваивание, и вÑоÑой alert вÑÐ²ÐµÐ´ÐµÑ Ñже 5.