一道JS题目 财富值62

2016-10-14 14:14发布

for (var i=1;i<=5;i++) {                 setTimeout(function(){                     console.log(i)                 },i*1000)             } for循环语句是如何运行的呢?为什么会输出5个6呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
15条回答

通过上面的代码,可以看出只定义了一个变量 i ,只有在循环里面赋值为1~5,循环结束后是 6
setTimeout中的代码是在循环之后执行的,所以输出的i是 6。而不是你所想的。
因为 i 只有一个,不可能同时等于 1,2,3,4,5.

一周热门 更多>