如果尚未定义但发现一个奇怪的问题,我想将变量定义为默认值。
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]
为什么第一个给出错误而第二个似乎通过了。