分配jQuery扩展结果



我正在做以下(示例(:

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(/*...*/)

最新更新