可能重複:
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