可能重复:
What does “options = options || {}” mean in Javascript?
我偶然发现了这条线,似乎无法弄清楚这意味着什么
var G = G || {};
有什么想法吗?
答案 0 :(得分:5)
G = G,如果G不存在,则将其创建为空对象。
答案 1 :(得分:5)
如果G 未定义 "falsy",则G为G或新对象。
答案 2 :(得分:3)
如果G
当前 任何 “falsey”值,则对象文字将分配给G
。
“假”值是......
undefined
null
''
NaN
false
0
正在使用的运算符是逻辑OR 运算符。
它的工作方式是首先评估它的左操作数。如果该操作数具有“真实”值(任何非假值),则返回它,并且不评估(短路)第二个操作数。< / p>
如果左操作数为“falsey”,则返回右操作数,而不管其值是多少。
G
假名的示例......
// v--- Evaluate G. The value of G is the "falsey" value undefined...
var G = G || {};
// ^--- ...so evaluate and return the right hand operand.
G
真实的例子......
G = 123;
// v--- Evaluate G. The value of G is a "truthy" value 123...
var G = G || {};
// ^--- ...so return 123, and do not evaluate the right hand operand.