这个JS代码是什么意思?

时间:2012-02-06 19:43:03

标签: javascript

  

可能重复:
  What does “options = options || {}” mean in Javascript?

我偶然发现了这条线,似乎无法弄清楚这意味着什么

var G = G || {};

有什么想法吗?

3 个答案:

答案 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.