сам себе Может кто-нибудь объяснить это (код в глобальном масштабе)Javascript назначая глобальные переменные
var a = a || 4 // a exists & is 4
window.a = window.a || 4 // a exists & is 4
window.a = a || 4 // a is undefined error
a = a || 4 // a is undefined error
объяснение того, что разница между этими 4 заданий и почему некоторые обрабатывать это правильно, но другие этого не делают.
[Изменить] этот конкретный пример был протестирован на консоли Chrome V8.
Конечно разница здесь неопределенное свойство для объекта и необъявленной объекта. Почему undefined во время компиляции, но не объявлено во время выполнения? – Raynos 2010-12-10 14:46:22