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, undefined
则myObj
是myObj
或新对象( null, 0, "", false, undefined
)
这意味着如果MyObj被评估为false(即它为null或未定义),则创建一个新对象。 这是一个简短的形式,它利用了这样一个事实,即如果MyObj在被转换为布尔值时被计算为真(即,它不为空并且被定义),则不计算OR表达式的第二部分。
链接地址: http://www.djcxy.com/p/95293.html上一篇: Javascript object creation?
下一篇: {}" in Javascript