Javascript 将jquery扩展结果分配给此

Javascript 将jquery扩展结果分配给此,javascript,jquery,Javascript,Jquery,我正在做以下(示例): 现在要将此配置分配给“this”,我需要执行以下操作: for (var key in config) this[key] = config[key]; 我可以用更好的方法吗?我将假设您在某个地方执行了一个新名称配置(要设置此) 现在我认为jQuery的extend方法正是您想要做的。引用文件,它说: 将两个或多个对象的内容合并到第一个对象中 所以你可以简单的做 function NameConfig(cfg) { var config = $.exte

我正在做以下(示例):

现在要将此配置分配给“this”,我需要执行以下操作:

for (var key in config)
    this[key] = config[key];

我可以用更好的方法吗?

我将假设您在某个地方执行了一个
新名称配置
(要设置

现在我认为jQuery的
extend
方法正是您想要做的。引用文件,它说:

将两个或多个对象的内容合并到第一个对象中

所以你可以简单的做

function NameConfig(cfg) {
    var config = $.extend(this, {
        name: 'John',
        lastName: 'Doe'
    }, cfg);
}
它将按预期工作

话虽如此,我不建议直接写入此,因为很容易出现一些名称空间问题。 也许只要在
上添加
config
属性就可以了(当然,这取决于您的用例)


this.config=$.extend(/*…*/)

您到底想实现什么?第二个代码示例中的循环将只是
config
的一个克隆,但是
这个
指的是什么?
这个
应该指的是
NameConfig
,还是我错了?你在某处做
新的NameConfig
。在这种情况下,它将引用
NameConfig
实例。否则它将不会引用任何未明确设置的内容。是的,很抱歉,我在这里执行了一个
newnameconfig
somehwere
function NameConfig(cfg) {
    var config = $.extend(this, {
        name: 'John',
        lastName: 'Doe'
    }, cfg);
}