2011-09-10 116 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