我不确定我是否使用了正确的术语,所以如果我不是,请纠正我。
我有一个javascript变量,它包含一组像这样的值
var my_variables = { first_var: 'starting', second_var: 2, third_var: 'continue', forth_var: 'end' }
现在我正在尝试在我的脚本中获取这些变量,但我不想检查每个变量。 现在我正在做这个
if(my_variables.first_var!=null){ query=query+'&first_var='+my_variables.first_var; } if(my_variables.second_var!=null){ query=query+'&second_var='+my_variables.second_var; }...
我希望有一种简单的方法来递归遍历该对象,但我无法找到如何做到这一点。 像
这样的东西foreach(my_variables.??? as varName){ query=query+'&'+varName+'='+my_variables.varName; }
答案 0 :(得分:2)
试试这个:
for(var key in my_variables)
query += '&'+key+'='+encodeURIComponent(my_variables[key]);
答案 1 :(得分:1)
for (var varName in my_variables) {
query=query+'&'+varName+'='+my_variables[varName];
}
for(... in ...)是你在Javascript中编写这种循环的方式。当字段名称是值而不是实际标识符时,也可以使用方括号而不是句点,就像这里一样。顺便提一下,如果您的值可能包含任意文本,我还建议使用window.encodeURIComponent。