Javascript对象创建?

可能重复:
什么是“var FOO = FOO ||” {}“的意思是在Javascript中?

我反复在javascript对象创建中找到这种声明。

 var MyObj = MyObj || {};

有人可以解释上述说法的意义吗?

为什么我们不能创造

var MyObj = {};

谢谢。


var MyObj = MyObj || {};

这只是说“如果MyObj已经存在并且具有真值,保留它;否则,创建一个新对象”。 例如,这是为功能做可选参数的常用方法。

有关该主题的更多信息,请参阅MDN关于逻辑运算符的页面。


如果MyObj已经存在,该怎么MyObj

如果它存在..声明

var MyObj = {}重置对象(这很糟糕)

因此它通常用||来完成

如果它已经存在,则保留它所在的位置......否则创建一个新的对象。

|| 运营商说:

this || that this || that - > this OR that

所以在你的例子中

如果myObj未定义或设置为falsy值null, 0, "", false, undefinedmyObjmyObj或新对象( null, 0, "", false, undefined


这意味着如果MyObj被评估为false(即它为null或未定义),则创建一个新对象。 这是一个简短的形式,它利用了这样一个事实,即如果MyObj在被转换为布尔值时被计算为真(即,它不为空并且被定义),则不计算OR表达式的第二部分。

链接地址: http://www.djcxy.com/p/95293.html

上一篇: Javascript object creation?

下一篇: {}" in Javascript