Раньше я думал, что когда вы объявляете переменную в глобальном пространстве имен, в контексте веб-браузера она привязывается к объекту окна. Кажется, это происходит, но должна быть разница между объявлением глобальной переменной с ключевым словом var
и присоединением ее непосредственно к объекту окна. См. Это с консоли Chrome:Глобальная путаница var: var a vs window.a
var a;
> undefined
window.hasOwnProperty("a")
> true
window.a = 0
> 0
delete window.a
> false
window.hasOwnProperty("a")
> true
/* so it's still there */
window.a
> 0
window.b = undefined
> undefined
window.hasOwnProperty("b")
> true
window.b = 0
> 0
delete window.b
> true
window.hasOwnProperty("b")
> false
window.b
> undefined
Может кто-то пролить свет на это?
Вы должны использовать '' '' и '' b "' вместо 'a' и' b' в 'hasOwnProperty'! – Bergi
Спасибо, отредактируйте его соответствующим образом. – connexo