闭包:
闭包定义和调用的作用域无关,而与定义闭包的作用域有关;这就解释了for循环中setTimeout例子中的问题,每次循环都创建了一个闭包;当调用闭包时都去声明闭包时作用域(作用链)去获取数据执行闭包;
let:
这是一个非常微妙的区别,拿我们的会说话的猫的例子来说,如果一个for (let...)循环执行多次并且循环保持了一个闭包,那么每个闭包将捕捉一个循环变量的不同值作为副本,而不是所有闭包都捕捉循环变量的同一个值。
for (let...)
posted on 2016-07-08 14:42 源人 阅读(140) 评论(0) 收藏 举报