问题
我在不可靠的不同地方声明父对象的某些属性,因此在声明这些属性时很难预测父对象是否存在。无论发生在何处,我都需要创建父对象(如果它不存在),但如果存在则不重新声明。
示例
假设我在某处发生了这个 JavaScript:
membership = {
id: 5,
name: "John"
}
在代码的另一点(可能在上面的代码块之前或之后),我有这样的东西:
membership.level = "gold";
我基本上需要能够让 membership.level
创建 membership
对象(如果不存在的话),但如果它存在,只需添加 level
属性。同样,第一个代码块需要以这样一种方式工作:如果 membership
已经存在,它只添加 id
和 name
属性。
到目前为止我得到的代码
我的解决方案没有奏效,但我想您会明白我要做什么。这是我尝试过的:
第一个区 block
membership = $.extend(membership, {
id: 5,
name: "John"
});
第二 block
membership = $.extend(membership , {
level: "gold"
});
当未定义成员资格时,上述有时仍然会出错。有没有办法按照我描述的方式做到这一点?提前致谢。
最佳答案
var membership = $.extend({}, membership , {
level: "gold"
});
JSFiddle:http://jsfiddle.net/gJ9d4/
关于javascript - jQuery.extend 一个对象,它是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21417401/