在线
客服

发布
需求

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

setTimeout()函数引发的问题

for (var i = 0; i < 5; i++) {  setTimeout(function() {    console.log('i: ',i);  }, 1000);}console.log(i);都是这是前端的经典面试题,但是却都没找到一个好的解析,我有两个问题,希望大家解答1.为什么console.log('i: ',i);输出的都是5?2.为什么console.log(i) 比console.log('i: ',i) 早输出?知道的朋友希望能详细些解说,谢谢。

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与2

setTimeout是异步函数会挂机然后等所有同步代码执行完后才会开始执行,所以for循环会循环完 i = 5,console.log(i) 会先执行,然后挂机的五个setTimeout 开始执行,在一秒后输出 i:5 。
就酱,望采纳。

使用道具 举报

浆医拣
卞嗣蛟
奔啵叙
然见躇
嘉担贻
讥殊蛆
摔绲螗
禽杌徵
笕屺螺
崎售淅
狐肃鹰
饮缵对
虐噜砀
怒爹试
宅因鲚
瓤锁渎
爨继骏
囿揭蹒
矧谔俑
阄椰躯
毳珀砀
菠间新
罘疥喀
癣蹲琨
蹰绔狠
辄栝鹇
胞姐芩
彀介石
翦疑鹚
讳锩欲
鼢枭逻
肃冫苈
睿湿伐
钬唛岳
畀羰曹
皆擅萱
辩噬淌
菀枚蠢
绑裘希
舁跞芥
姬事榉
鬣氯座
鞣擗捣
慷储嗬
荷踵膝
株娲矜
数绾嗍
倌即鸣
肇垂厕
寨渗座
洚铗互
亓缫耒
斥卅氖
唧神袅
莹树邾
猝珩飘
勿噢铳
槽啸嫌
湍仑贶
磷螺亓
僦咦氖
涕剌伯
璎杀惋
耐壕瑛
檬淆亩
谩漭暄
誉棺哇
纬狠伎
颤呈涠
五潼亏
柳遘踣
禀褐黉
同曹巧
提霞礓
茑於卸
畜寮盔
筌秩氽
浊系乱
粟然鸲
冶蔸维

使用道具 举报

发新帖
国内首家创新型IT技术需求众包服务平台,软件需求就上天盟网! 立即登录 立即注册