Сообщение от foo
|
Дайте линк
|
Хмм, быстро не нашёл, но точно помню что когда-то давно об этом читал здесь. Читайте весь учебник - не пропустите.)
А по вопросу: объявления var происходят в начале функции независимо от того где они указанны в коде.
Т.е.
alert(a);
var a = 123;
это на самом деле
var a;
alert(a);
a = 123;
Соответственно и в васшем примере:
foo="bar" // foo уже локально ибо ниже объявлена через var
var foo //объявляем переменную
delete foo //удаление несуществующего
console.log(global.foo) //undefined(было таким и до delete)
console.log(foo) //bar