为什么说setTimeout这里用到了闭包?

来源:6-9 项目名称动画

慕粉4032305

2016-12-28


for (var i = 0; i < 100; i++) {

    setTimeout(function(){

        s-=0.01;

        draw(s);

    },i*10);

}

setTimeout这里只是把i当参数传进去了,我理解的闭包是一个函数在被包含的函数之外被执行才是闭包,是我理解错了吗?

写回答

2回答

Lyn

2016-12-29

是说这块也可以用闭包,但这里没有用。

setTimeout函数利用了循环的i,不过内部执行的函数没有用到 当前setTimeout运行时作用域的变量,所以没有用到闭包。

0
1
慕粉4032305
非常感谢!
2016-12-29
共1条回复

慕粉4032305

提问者

2016-12-29

谢谢老师的解答

0
0

Web App用组件方式开发全站

用HTML5/CSS3/JS流行技术,实现移动端可视化数据报告

3164 学习 · 516 问题

查看课程