如何使用forEach在JavaScript和jQuery中设置动态变量
How can I use forEach to set dynamic variables in JavaScript and jQuery?
我正在编写一个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
*/
对于每个都找不到未定义的,因为未定义的不存在,除非你的对象是这样的:
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" ?
}
});
听起来你可能想设置一个预定义的变量数组,然后根据选项的索引读取其默认值
var optionDefaults = ["val1", "val2", "val3"];
function init(element, options){
$(document).ready(function(){
$.each(options, function(index, value){
if(typeof options.index === 'undefined'){
var optiondefValue = optionDefaults[index];
//do whatever you want here.
}
});
});
}
相关文章:
- 在有角度的ui网格中设置动态列的问题
- 使用getElementById设置动态ID的输入字段的样式
- 动态设置动态创建的元素的宽度
- 在 angularjs 的 ga 命令中设置动态参数
- 如何在高图表中设置动态数据
- 想要在flowFactoryProvider配置中设置动态文件夹名称,将其传递到upload.php文件,以将上传的文件
- 如何为 angular js 设置动态网址
- 使用 KNOCKOUTJS 设置动态可观察量
- 如何使用 Javascript 精确设置动态样式转换
- 用 JS 更改.css?使用变量设置动态.css属性
- 如何使用 getElementById 和 c# 变量设置动态 id
- 在 jquery 中设置动态回退,每个都包含 JSON 数据
- 使用具有金钱掩码的字段设置动态最大值
- 设置“动态输入”字段的角度方式
- 如何为XHR POST参数设置动态URL
- 如何使用forEach在JavaScript和jQuery中设置动态变量
- 在EpicEditor上设置动态值
- 如何在聚合物中设置动态元标记和开放图标记
- 按序列名称设置动态图的初始列可见性
- 我可以/应该根据下拉菜单栏的项目数量为其设置动态高度