gpt4 book ai didi

javascript - 如何使用 forEach 在 JavaScript 和 jQuery 中设置动态变量?

转载 作者:行者123 更新时间:2023-12-03 11:36:58 25 4
gpt4 key购买 nike

我正在编写一个 jQuery 插件。我想循环遍历一个选项对象来设置常规变量。它基本上会设置一个变量作为对象项的索引。我想确定是否有任何选项留空,如果是,则将常规变量设置为默认值。如果选项为空,我通常会使用以下命令将选项设置为默认值:

 var defaults = {
someVar1 : "somevar1",
omeVar2: "somevar2"
};

var someVar1;
var someVar2;

function init(options, defaults){
if(typeof options.someVar1 === 'undefined'){
someVar1 = defaults.someVar1;
} else {
someVar1 = options.someVar1;
}
return something();
}
function something(){
console.log(item);
});

如果我有很多选项需要设置,这可能会很痛苦。如何修改下面的代码以动态定义全局变量?

function init(element, options){
$(document).ready(function(){
$.each(options, function(index, value){
if(typeof options.index === 'undefined'){

}
});
});
}

最佳答案

假设你有一个对象:

var my_object = {
item1 : 1,
item2 : 2,
item3 : 3,
}

var i;
for(i in my_object){
console.log(i);
console.log(my_object[i]);
}
/*
This will print in the console:
item1
1
item2
2
item3
3
*/

foreach不会找到undefined,因为undefine不存在,除非你的对象是这样的:

var my_object = {
item1 : 1,
item2 : 2,
item3 : 3,
item4 : undefined
}

另外:

$.each(options, function(index, value){
// if(typeof options.index === 'undefined'){ <-- this is wrong
if(typeof options[index]=== 'undefined'){ <-- this is correct
// Also you have the value, why not "value === undefined" ?
}
});

关于javascript - 如何使用 forEach 在 JavaScript 和 jQuery 中设置动态变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26446440/

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