美文网首页
对JavaScript运行机制的理解

对JavaScript运行机制的理解

作者: 长在床上的人 | 来源:发表于2016-11-14 14:40 被阅读0次

在Node官网的首页中,是这么介绍:

Node.js®是一个基于Chrome V8 引擎的 JavaScript 运行时。 Node.js 使用高效、轻量级的事件驱动、非阻塞 I/O 模型。Node.js 之生态系统是目前最大的开源包管理系统。

森么是运行时,什么是事件驱动,什么是非阻塞I/O?

运行时

“运行时”表示完整的 JavaScript 执行环境。 所创建的每个运行时都有自己的独立垃圾回收堆,默认情况下,还拥有自己的实时 (JIT) 编译器线程和垃圾回收器 (GC) 线程。

事件驱动和非阻塞I/O模型

简单的说,首先JavaScript是单线程的,也就是说工作只能一件一件的来.JavaScript有一个主线程,同步执行的任务都是在主线程上一次执行,而异步任务会在主线程挂起,所谓挂起,就是指异步任务所对应的<b>回调函数</b>,把需要I/O设备处理的任务交由I/O设备处理,主线程会继续往下执行,并不会等待I/O设备的结果.当I/O设备处理完成以后,会在任务队列(也可以叫做消息队列)中添加一个事件,当主线程上的同步任务<b>全部执行完成</b>以后,主线程才会去任务队列中取出事件,并执行此事件,也就是执行此异步任务对应的回调函数.
值得注意的事情是,而消息队列的数据结构是队列,也就是说,主线程去消息队列中取出事件的顺序是先进先出的.

node.js运行流程

如图所示:

Paste_Image.png

由chrome的V8引擎来解析js的代码,V8引擎会调用node.js的I/O接口,通过Libuv来实现事件循环.将结果返回给V8引擎,最后显示出结果.

相关文章

  • 对JavaScript运行机制的理解

    在Node官网的首页中,是这么介绍: Node.js®是一个基于Chrome V8 引擎的 JavaScript ...

  • 理解JavaScript 运行机制

    想要理解JavaScript的运行机制,需要分别深刻理解以下几个点: JavaScript的单线程机制 任务队列(...

  • js new 运行机制

    js手札--js中new到底做了些啥JS核心系列:理解 new 的运行机制深入理解 Javascript 运行机制及原型

  • 2019-11-18-本周学习周报

    学习总览 JavaScript 运行机制渲染引擎JavaScript引擎调用栈事件循环 CSS 盒模型的理解 HT...

  • Javascript运行机制

    Javascript是一种单线程开发语言。理解Javascript的运行机制是日常编码必须要掌握的技能。 为什么是...

  • JavaScript运行机制的理解

    0.前言 又开始新一轮的跳槽季,金三银四,希望大家找到好的工作。 1.简介 JavaScript 是脚本语言,JS...

  • JavaScript 运行机制 & EventLoop

    JavaScript 运行机制 & EventLoop 看阮老师博客和自己的理解,记录的学习笔记,js的单线程和 ...

  • Javascript运行机制理解总结

    首先,我想说一下Javascript的装载和执行。通常来说,浏览器对于Javascript的运行有两大特性:1)载...

  • event-loop

    个人对浏览器js运行机制的理解 在浏览器中执行 JavaScript 有两个区域,一个是我们平时所说的同步代码执行...

  • JavaScript之运行机制及 Event Loop

    JavaScript之运行机制及 Event Loop 1. JavaScript是单线程 JavaScript语...

网友评论

      本文标题:对JavaScript运行机制的理解

      本文链接:https://www.haomeiwen.com/subject/vdkfpttx.html