我正在尝试修改插件,并试图了解extend()是如何工作的...
如果我有这个:
$.extend( plugin.ext.oStdClasses, {
"some":"one"
},
$.extend( plugin.ext.oStdClasses, plugin.ext.xtraClasses, {
"some":"two"
}
有人可以向我解释发生了什么吗?
此外,我想用我自己的逻辑来扩展它:
$.extend( plugin.ext.xtraClasses, plugin.ext.moreClasses, {
"some":"thing",
"else":"too"
}
然而,这似乎给了我一个空的对象。是否可以使用更多类扩展标准类,并覆盖以前的类?
感谢您的一些指示
答案 0 :(得分:2)
$ .extend扩展首先通过了argumnet。
例如:
var first = {first: true};
var second = {second: true}
$.extend(first, second);
console.log(first); // output {first: true, second: true}
console.log(second); // output {second: true}
var third = $.extend({}, first, second, {third: true});
console.log(third); // output {first: true, second: true, third: true}
答案 1 :(得分:1)
如果你引用docs,它说明extend
的第一个参数将是被修改的对象,所以你最好做这样的事情:
var opts = {};
$.extend(opts, plugin.ext.xtraClasses, plugin.ext.moreClasses, {
some: "thing",
else: "too"
});
console.log(opts);