如果我像这样尝试
$.extend(function_arguments, defaults_arguments)
并非所有的 default_arguments 都会被覆盖。例如,如果其中一个是函数(this
),如果来自 function_arguments 的那个是不同类型的,它将保留在对象中......
$.extend 到底是做什么的?它不应该像 array_merge 一样工作,而是对象?
好的,要更清楚:
....function(args){
$.extend(args, {
// here are defaults
foo: this,
abc: 1
});
}
出于某种原因,我得到了“foo”的默认值,即使我在 args 中有它......
如果我反转对象,例如:
....function(args){
$.extend({
// here are defaults
foo: this,
abc: 1
}, args);
}
我只从 args 获得属性,完全缺少默认值:|