2012-03-14 622 views

回答

2

如果MyObj已經存在,該怎麼辦?

如果alreay存在..聲明

var MyObj = {}重置對象(這是壞的)

因此它通常與||

做如果它已經存在,保留不管它是什麼。 ..否則創建一個新的對象。

||運營商說:

this || that - >this OR that

所以,在你的榜樣

myObjmyObj或新的對象,如果myObj沒有定義或設置爲falsy值(null, 0, "", false, undefined

2
var MyObj = MyObj || {}; 

T帽子簡單地說:「如果MyObj已經存在並且具有真值,保留它;否則,創建新的對象。」這是在做可選參數的功能,例如常見的方式。

見MDN對logical operators頁關於這一主題的更多信息。

+0

陷阱...謝謝 – Ravi 2012-03-14 10:24:40

0

這意味着,如果MyObj中進行評估,以假(即它是空的或未定義的)然後創建一個新的對象,它是一個簡短的形式,利用這樣一個事實,即如果MyObj被計算爲真時被轉換爲布爾值(即它不是空的和定義)OR的第二部分表達不被評估

+0

很多謝謝你想要水晶般清晰的信息:) – Ravi 2012-03-14 10:25:01