array = [1,2,3,4]
for num in array
//do something
Run Code Online (Sandbox Code Playgroud)
num
在函数的其余部分的上下文中有什么价值?是否num
限制循环?
zby*_*our 17
不,num
不会限制循环.正如您在编译的JS中看到的那样(如@epidemian指出的那样)它是当前的范围变量,因此您也可以在函数的其余部分(例如当前范围的其余部分)访问它.
但是在循环中定义函数回调时要小心:
array = [1, 2, 3]
for num in array
setTimeout (() -> console.log num), 1
Run Code Online (Sandbox Code Playgroud)
输出
3
3
3
Run Code Online (Sandbox Code Playgroud)
要捕获回调内的当前变量,您应该使用do
简单地调用该函数:
for num in array
do (num) ->
setTimeout (() -> console.log num), 1
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2004 次 |
最近记录: |