我正在做以下(示例(:
function NameConfig(cfg) {
var config = $.extend({
name: 'John',
lastName: 'Doe'
}, cfg);
}
现在要将此配置分配给"这个"我做到这一点:
for (var key in config)
this[key] = config[key];
我可以更好地做吗?
我会假设您在某个地方做new NameConfig
(要设置this
(。
现在,我认为jQuery的extend
方法完全可以做您想做的事情。引用文档,它说:
将两个或多个对象的内容合并到第一个对象中。
因此,您可以简单地做
function NameConfig(cfg) {
var config = $.extend(this, {
name: 'John',
lastName: 'Doe'
}, cfg);
}
它将按预期工作。
话虽如此,我不建议您直接写入this
,因为您可以轻松遇到一些命名问题。也许仅在this
上添加config
属性会解决问题(当然取决于您的用例(
this.config = $.extend(/*...*/)