gpt4 book ai didi

javascript - 如何有效地将属性从一个对象复制到另一个对象?

转载 作者:行者123 更新时间:2023-12-01 02:10:34 25 4
gpt4 key购买 nike

我正在寻找一种更有效的方式编写此代码的方法。在对象加载方法中,它将具有与 options 中的条目一样多的行(至少)。

var myPlugin = {
// here are the 'plugin' default ptions
option1: 'deafult1'
, option2: 'deafult2'
, option3: false
, option4: true
, optionN: 'deafultN'

// here the plugin will receive an object ('options')
load: function(options){
if (options.option1) myPlugin.option1 = options.option1;
if (options.option2) myPlugin.option2 = options.option2;
//...
}
}


myPlugin.load({
option3: true
, option5: '123'
});

这是将选项加载到 JS/jquery 插件的正确方法吗?有没有办法使用 for ()/each() 以更高效/简洁的方式加载选项对象? p>

我想的是这样的:

  load: function(options){
$.each(options, function(index, opt){
// how to load options from here?
// something like:
// myPlugin. ->current opt property name = opt

});
}

最佳答案

看看 jQuery website 中的 $.extend .

这是一种跨对象复制属性或将属性完全复制到新对象的简单方法。例如,来自 jQuery 网站:

var defaults = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };

// Merge defaults and options, without modifying defaults
var settings = $.extend( {}, defaults, options );`

关于javascript - 如何有效地将属性从一个对象复制到另一个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29257107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com