2012-03-14 297 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