setTimeout 的疑问?

来源:4-2 js运行机制

没有故事的羊小咩

2017-08-24

关于 for(var i=0;i<4;i++){
    setTimeout(function(){

    console.log(i)

    },0)
}

这个问题的解释感觉有点问题? 这个不是js执行上下文的问题吗  

写回答

1回答

快乐动起来呀

2017-08-24

setTimeout和setInterval的执行和普通的函数执行是不同的,也就是js运行的事件Loop,至于i的 输出结果是跟var和let的作用域有关,你试试把var换成let再跑一遍试试,具体的原理也可以参考下:http://www.jstips.co/zh_cn/javascript/keyword-var-vs-let/

1
1
没有故事的羊小咩
其实如果能讲解到执行上下文的东西那就更赞了 变量对象 作用域链 等 哈哈~
2017-08-24
共1条回复

前端跳槽面试必备技巧 面试官全流程指导

一门让你能成功获取前端 Offer 的课程, 不只是技术,面试“技巧”也至关重要

4836 学习 · 830 问题

查看课程