一道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条回答

因为 setTimeout 是异步的啊,当你执行完 for 的时候,设定了 5个setTimeout,分别延迟 1至5秒,
执行完 for后,i的值为 6,然后你会看到,每隔一秒输出1个6,一共5个

一周热门 更多>