摘要:
预期:分别输出数字 1-5,每秒一次,每次一个。 实际上,会每秒一次输出 5次6,。 知识点: JS引擎是单线程的,定时器的工作方式:按指定时间间隔,将定时器的代码添加到JS引擎的消息队列;而非到了指定的时间立即执行回调函数。 在上例中, 作用域 尽管循环中的五个函数在各个迭代中分别定义,但都被封闭 阅读全文
摘要:
先来思考一个问题,JS 是单线程的还是多线程的?如果是单线程,为什么JavaScript能让AJAX异步发送和回调请求,还有setTimeout也看起来像是多线程的?还有non-blocking IO, event loop等概念。 目录: 1. 单线程的 JS 引擎 浏览器无论在什么时候都只有一个 阅读全文