當我嘗試使用未聲明的變量時,我得到ReferenceError
。javascript對象的怪異行爲
console.log(a);
Uncaught ReferenceError: a is not defined
我可以先使用一個變量,然後再定義它,它不會因爲提升而出現問題。
console.log(a);
var a;
undefined
但是當我聲明一個對象時,爲什麼執行上下文讓我使用它的任何屬性。
var obj = {};
console.log(obj.a);
console.log(obj.why);
undefined
undefined
爲什麼這些允許即使a
和why
從來沒有在任何地方申報?
不完全是一個*重複*,但很好的解釋差異:http://stackoverflow.com/questions/10102862/referenceerror-and-the-global-object – CodingIntrigue