可能重复:
What does "var FOO = FOO || {}" mean in Javascript?我不明白这个代码
我不明白的是:
var gapi = window.gapi||{};
你能解释一下吗? gapi是一个布尔?
可能重复:
What does "var FOO = FOO || {}" mean in Javascript?我不明白这个代码
我不明白的是:
var gapi = window.gapi||{};
你能解释一下吗? gapi是一个布尔?
这意味着如果变量gapi
已经存在,并且它的值不计算为布尔型错误值,那么将其赋值给变量gapi
否则为其分配新的对象。
这种做法有助于避免覆盖变量。
这些是JavaScript values that evaluate to boolean false:
false
undefined
null
0
NaN
""
)如果第一个符号计算的东西,从一个真正的价值不同的logical or
站一样,false
,undefined
,null
,''
或0
..否则,它需要第二个参数。
在这种情况下,如果gapi
不是在窗口中定义的全局对象,它会将gapi分配给新的空对象{}
。
不,'||'返回第一个操作数的值,如果它是真的,否则返回第二个操作数的值。所以请注意,如果第一个操作数具有任何虚假值“false”,“null”,“0”或空字符串(所有这些与“undefined”不同),则将返回第二个操作数。 – nnnnnn
@nnnnnn:是的,你说得对。我没有适当表达。 – user278064
好的谢谢你,但我重复了这个问题.... –
因此,区别|和||。 |是按位和||是价值导向的。在Cs a ||中如果其中任一个为真,但是具有与a和b无关的值,则b为真。在JS(perl,...)中有一个|| b给出第一个真值。 – Gilbert
如果'gapi'已经存在并且具有真值赋值... – nnnnnn