如何通过setTimeout深入探究JavaScript运行时机制及其详解?

2026-04-09 02:050阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2393个文字,预计阅读时间需要10分钟。

如何通过setTimeout深入探究JavaScript运行时机制及其详解?

序 + setTimeout() 函数:用于指定某个函数或代码段在多少毫秒后执行。它返回一个整数,表示定时器的编号,可以用来取消该定时器。 示例 + console.log(1); setTimeout(function () { console.log(Hello World!); }, 2000);


setTimeout()函数:用来指定某个函数或某段代码在多少毫秒之后执行。它返回一个整数,表示定时器timer的编号,可以用来取消该定时器。

例子

console.log(1); setTimeout(function () { console.log(2); }, 0); console.log(3);

问:最后的打印顺序是什么?(如果不了解js的运行机制就会答错)

正确答案:1 3 2

解析:无论setTimeout的执行时间是0还是1000,结果都是先输出3后输出2,这就是面试官常常考查的js运行机制的问题,接下来我们要引入一个概念,JavaScript 是单线程的。

二、 JavaScript 单线程

JavasScript引擎是基于事件驱动和单线程执行的,JS引擎一直等待着任务队列中任务的到来,然后加以处理,浏览器无论什么时候都只有一个JS线程在运行程序,即主线程。

通俗的说:JS在同一时间内只能做一件事,这也常被称为 “阻塞式执行”。

阅读全文

本文共计2393个文字,预计阅读时间需要10分钟。

如何通过setTimeout深入探究JavaScript运行时机制及其详解?

序 + setTimeout() 函数:用于指定某个函数或代码段在多少毫秒后执行。它返回一个整数,表示定时器的编号,可以用来取消该定时器。 示例 + console.log(1); setTimeout(function () { console.log(Hello World!); }, 2000);


setTimeout()函数:用来指定某个函数或某段代码在多少毫秒之后执行。它返回一个整数,表示定时器timer的编号,可以用来取消该定时器。

例子

console.log(1); setTimeout(function () { console.log(2); }, 0); console.log(3);

问:最后的打印顺序是什么?(如果不了解js的运行机制就会答错)

正确答案:1 3 2

解析:无论setTimeout的执行时间是0还是1000,结果都是先输出3后输出2,这就是面试官常常考查的js运行机制的问题,接下来我们要引入一个概念,JavaScript 是单线程的。

二、 JavaScript 单线程

JavasScript引擎是基于事件驱动和单线程执行的,JS引擎一直等待着任务队列中任务的到来,然后加以处理,浏览器无论什么时候都只有一个JS线程在运行程序,即主线程。

通俗的说:JS在同一时间内只能做一件事,这也常被称为 “阻塞式执行”。

阅读全文