2011-09-10 77 views

回答

4

这意味着如果变量gapi已经存在,并且它的值不计算为布尔型错误值,那么将其赋值给变量gapi否则为其分配新的对象。

这种做法有助于避免覆盖变量。

这些是JavaScript values that evaluate to boolean false

  • false
  • undefined
  • null
  • 0
  • NaN
  • 空串(""
+0

好的谢谢你,但我重复了这个问题.... –

+1

因此,区别|和||。 |是按位和||是价值导向的。在Cs a ||中如果其中任一个为真,但是具有与a和b无关的值,则b为真。在JS(perl,...)中有一个|| b给出第一个真值。 – Gilbert

+0

如果'gapi'已经存在并且具有真值赋值... – nnnnnn

1

如果第一个符号计算的东西,从一个真正的价值不同的logical or站一样,falseundefinednull''0 ..否则,它需要第二个参数。

在这种情况下,如果gapi不是在窗口中定义的全局对象,它会将gapi分配给新的空对象{}

+1

不,'||'返回第一个操作数的值,如果它是真的,否则返回第二个操作数的值。所以请注意,如果第一个操作数具有任何虚假值“false”,“null”,“0”或空字符串(所有这些与“undefined”不同),则将返回第二个操作数。 – nnnnnn

+0

@nnnnnn:是的,你说得对。我没有适当表达。 – user278064