说我有一个代码片段:Javascript中的变量范围在“for ... in ...”循环中吗?
dict = {"key":"elem"}
for (var elem in dict){
someFunction(function(){
anotherFunction(dict[elem]);
})
}
是elem
仍当在该第三级引用在for...in...
语句创建的临时变量,即在anotherFunction(dict[elem])
?
当它在我的代码中被调用时,我得到一个错误,说它返回undefined。
编辑:我可以以某种方式解决这个与this
关键字的地方?
甲环不具有一个范围的概念。什么是“dict”变量?对象还是数组? – rxgx
只有一个名为'elem'的**变量 - 这对于它在使用地点评估的*值*意味着什么? (提示:*只有新的函数范围可以引入新的变量*。)查找“javascript循环最后值闭包”或类似内容。 – 2012-07-02 22:55:56
你的编辑是无稽之谈,它怎么能用'this'修复一些? – gdoron