JavaScript运行机制

mac2022-06-30  21

参考文章一:https://baijiahao.baidu.com/s?id=1615713540466951098&wfr=spider&for=pc  JavaScript运行机制

在文章一的第五部分的2小点处,将var 声明,改为let声明。

console.log('start'); for(let i = 0; i< 5;i++){ setTimeout(() => { console.log(i); }, 9000); } //会输出什么呢?

结果是:在9.0+s后,输出0,1,2,3,4。

这里面便存在一个TDZ(Temporal Dead Zone暂时死区)的问题。

参考文章二:https://segmentfault.com/a/1190000008213835   理解ES6中暂时死区

参考文章三:https://blog.csdn.net/xingjia001/article/details/84560872    var和let的详解

最后关于函数闭包:  参考文章四  https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Closures

最新回复(0)