1
爲什麼我不能運行一個ForIn來合併構造函數上的配置?ForIn合併對象配置
我已經得到了這個有很多開放配置的小類,所以我想簡單地運行一個ForIn來縮短代碼。
基本上把這個
var FormMessage = (function() {
...
function FormMessage(args) {
this.Conf = {
mobile:args.mobile || Configurations.mobile,
form: {
selector: args.form.selector || Configurations.formSelector
},
...
}
}
...
return FormMessage;
})();
var i = new FormMessage({mobile: true, form:{selector: '.the-first'}}),
e = new FormMessage({mobile: false, form:{selector: '.the-second'}});
這個
var FormMessage = (function() {
...
function FormMessage(args) {
for (var attr in args) { this.Conf[attr] = args[attr]; }
}
...
return FormMessage;
})();
var i = new FormMessage({mobile: true, form:{selector: '.the-first'}}),
e = new FormMessage({mobile: false, form:{selector: '.the-second'}});
但是,如果我這樣做,那麼我第二次初始化對象時,它會覆蓋第一個。
你們知道我該怎麼做這項工作?
感謝您的幫助。
號這是假設是一個單一的對象,每一個屬性是可選的,並且默認的東西,如果沒有通過,而初始化 – Kup