[英]How can I refer to an object that is defined in a javascript for statement?
在Javascript中,相当于“foreach”循环是:
for(a in b){
// b[a] is now one of the elements of the array b
}
但是,当for语句本身定义了“b”时,有没有办法做到这一点? 例如
for(a in {'a' : 'alpha', 'b' : 'bravo', 'c' : 'charlie'}){
// can I access the alpha, bravo and charlie values here?
}
...
我刚才写到这个我可以使用:
for(var a in b = {'a' : 'alpha', 'b' : 'bravo', 'c' : 'charlie'}){
// b[a] will now give me the alpha, bravo, charlie values
}
但如果我尝试用以下方式声明“b”:
for(var a in var b = {...})
我收到语法错误。
这意味着我可以这样做,但只能通过隐式声明b为全局。 有没有办法在不创建全局的情况下访问这些值?
我意识到还有其他可能更好的方法(例如在循环外定义数组)。 我好奇地问这是否可行。
您可以使用IIFE包装它以防止创建全局变量。
(function () {
var b = {'a' : 'alpha', 'b' : 'bravo', 'c' : 'charlie'};
for(var a in b){
console.log(b[a]);
}
})();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.