所以我想根据我的循环声明变量。所以我做了以下
$.each(filter,function(key,value){
var value;
});
我的过滤器数组包含:
Geo_Name_date,Geo_Gender_date,Geo_Age_date,Geo_Ethnicity_date,Geo_Race_date,Geo_Language_date,Geo_Smoker_ind_date,Geo_Primarycare_provider_name_date
当循环结束后我发出警报。变量应该警告undefined。但它给出了参考错误。任何建议或做错了什么?可以这样做吗?
答案 0 :(得分:1)
要分配全局变量,请忽略var
关键字:
$.each(filter, function(key, value) {
globalValue = undefined;
});
alert(globalValue); // Will show undefined
答案 1 :(得分:1)
您最好在对象中创建属性而不是全局变量:
var values = {};
$.each(filter, function(key, value) {
values[value] = undefined;
});
可以动态创建全局变量。您应该避免在全局范围内创建大量变量,但如果这确实是您所需要的,则可以使用eval
方法为循环中的变量赋值而不声明它们。这将在全球范围内创建它们:
$.each(filter, function(key, value) {
eval(value + '=undefined');
});