美文网首页
js常见闭包程序的一个思考

js常见闭包程序的一个思考

作者: 向布谷鸟说早安 | 来源:发表于2017-02-03 19:23 被阅读16次

第一个程序

如图setTimeout程序

图一

在setTimeout处进行断点调试

第一步:

图二

第二步

图三

第三步

图四

第四步

图五

其中第二步,第三步不断循环,i值虽然有变化,但是时间不足1000ms所以不会执行该函数,所以整个循环过程相当于瞬间执行。执行完成后过了1s后,才调用相应函数,而此时i值由于未保留,已经增加到了10。

第二个程序

如图,给函数传入变量i,并立即执行。

图二–1

第一步

循环一轮后,传入参数0,在控制台输出0

js常见闭包程序的一个思考

此时循环仍旧立即执行,只不过每次都把变量打印出来,结果如图所示:

js常见闭包程序的一个思考

但此时setTimeout的时间参数没有任何意义。不起作用。

那么,如何让setTimeout方法控制console.log的输出呢,大家可以先自己思考一下?


这就需要把i变量每次在

相关文章

网友评论

      本文标题:js常见闭包程序的一个思考

      本文链接:https://www.haomeiwen.com/subject/mzwdittx.html