Getting variable value out of for loop
本问题已经有最佳答案,请猛点这里访问。
我目前在javascript中使用for循环迭代数组。
它的工作正常,但我仍然可以在循环外得到for循环中使用的变量值。 我无法找到原因。
这是代码片段。
1 2 3 4 5 6 | var list = ['delhi','mumbai','pune','kolkata']; for (let i = 0, max = list.length ; i < max ; i++ ){ var current_city = list[i]; //other code goes here } console.log(current_city); |
它在for循环之外打印'kolkata'。
您只需将
1 2 3 4 5 6 | var list = ['delhi','mumbai','pune','kolkata']; for (let i = 0, max = list.length ; i < max ; i++ ){ let current_city = list[i]; //other code goes here } console.log(current_city); // shows error, as you expect. |
这种行为是正确的。 你不断重新分配
1 2 3 4 5 | var list = ['delhi','mumbai','pune','kolkata']; for (let i = 0, max = list.length ; i < max ; i++ ){ var current_city = list[i]; console.log(current_city); } |
JavaScript没有块范围,只有函数范围。 由于
您不断重新分配