我想定義一個變量爲默認值,如果尚未定義,但發現一個奇怪的問題。Javascript變量範圍undefined
var x = x || {}
作品而x = x || {}
給出了一個錯誤。
螢火蟲輸出。
>>> a = a || {};
ReferenceError: a is not defined
[Break On This Error]
a = a || {};
with(_... {}; }; (line 2)
>>> var b = b || {};
undefined
>>> b;
Object {}
>>> a;
ReferenceError: a is not defined
[Break On This Error]
爲什麼第一個出現錯誤,而第二個似乎經歷了。
http://stackoverflow.com/questions/1470488/difference-between-using-var-and-not-using-var-in-javascript的副本? – 2012-08-12 16:56:17
這個答案將幫助你http://stackoverflow.com/a/1470494/205585 – 2012-08-12 16:56:53
有這個真正的重複,這些不是其中之一。 – Esailija 2012-08-12 17:00:24