原文:记一次途家面试中问到的JavaScript事件机制:Event Loop

前几天去途家面试,问到了事件机制,以及异步队列的问题。很遗憾,当时答错了。回来之后查了下资料,看到阮一峰老师博客的分析,感觉讲的非常浅显易懂,就分享过来了。 一 为什么JavaScript是单线程 JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。那么,为什么JavaScript不能有多个线程呢 这样能提高效率啊。 JavaScript的单线程,与它的用途有关。作为浏 ...

2018-08-15 17:54 0 1899 推荐指数:

查看详情

JavaScript事件循环(event loop机制

事件循环(event loop)过程: 一、执行同步(轮询)阶段: 1.同步代码,一行一行放在Call Stack(调用栈)执行 2.遇到异步,会先记录到Web APIs里,然后等待时机(定时器、网络请求等) 3.时机到了,就移动到Callback Queue(回调队列) 4. ...

Sat May 08 05:33:00 CST 2021 0 249
详解JavaScriptEvent Loop事件循环)机制

前言 我们都知道,javascript从诞生之日起就是一门单线程的非阻塞的脚本语言。这是由其最初的用途来决定的:与浏览器交互。 单线程意味着,javascript代码在执行的任何时候,都只有一个主线程来处理所有的任务。 而非阻塞则是当代码需要进行一项异步任务(无法立刻返回结果,需要花一定 ...

Sat Apr 28 22:05:00 CST 2018 10 26421
JavaScript事件循环(Event Loop)机制

JavaScript 是单线程单并发语言 什么是单线程 主程序只有一个线程,即同一时间片断内其只能执行单个任务。 为什么选择单线程? JavaScript的主要用途是与用户互动,以及操作DOM。这决定了它只能是单线程,否则会带来很复杂的同步问题。 单线程意味着 ...

Wed Sep 13 21:42:00 CST 2017 2 3305
js事件轮询(event loop)机制

"任务队列"(task queue)。只要异步任务有了运行结果,就在"任务队列"之中放置一个事件。 一旦 ...

Thu Oct 26 00:21:00 CST 2017 0 4325
js事件循环(Event Loop)机制

一,关于线程 javascript从诞生之日起就是一门单线程的非阻塞的脚本语言。这是由其最初的用途来决定的:与浏览器交互。 单线程意味着,javascript代码在执行的任何时候,都只有一个主线程来处理所有的任务。 而非阻塞则是当代码需要进行一项异步任务(无法立刻返回结果,需要花一定 ...

Thu Sep 24 19:14:00 CST 2020 0 443
深入理解javascript事件循环event-loop

前面的话   本文将详细介绍javascript事件循环event-loop 线程   javascript是单线程的语言,也就是说,同一个时间只能做一件事。而这个单线程的特性,与它的用途有关,作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM。这决定 ...

Fri Mar 09 06:00:00 CST 2018 1 14202
NodeJs 的 Event loop 事件循环机制详解

什么是事件轮询 事件循环是 Node.js 处理非阻塞 I/O 操作的机制——尽管 JavaScript 是单线程处理的——当有可能的时候,它们会把操作转移到系统内核中去。 下面的图表显示了事件循环的概述以及操作顺序。 三大关键阶段 timer:执行定时器时 ...

Fri May 08 06:55:00 CST 2020 0 2966
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM