第一个程序
如图setTimeout程序
图一在setTimeout处进行断点调试
第一步:
图二第二步
图三第三步
图四第四步
图五其中第二步,第三步不断循环,i值虽然有变化,但是时间不足1000ms所以不会执行该函数,所以整个循环过程相当于瞬间执行。执行完成后过了1s后,才调用相应函数,而此时i值由于未保留,已经增加到了10。
第二个程序
如图,给函数传入变量i,并立即执行。
图二–1第一步
循环一轮后,传入参数0,在控制台输出0
js常见闭包程序的一个思考此时循环仍旧立即执行,只不过每次都把变量打印出来,结果如图所示:
js常见闭包程序的一个思考但此时setTimeout的时间参数没有任何意义。不起作用。
那么,如何让setTimeout方法控制console.log的输出呢,大家可以先自己思考一下?
这就需要把i变量每次在
网友评论