浏览器与node.js的区别

表面的区别

  • 浏览器和node.js都可以看作是JS的运行平台,浏览器是JS在客户端的运行时环境,而node.js是JS在服务端的运行环境。
  • JS运行在浏览器端,用于用户的交互效果。JS运行在node.js,用于服务器的操作。
  • JS需要浏览器的JS引擎进行解析执行,但是不同浏览器的JS引擎不同,存在兼容性问题。而node.js是基于 chrome v8引擎的运行时环境,无兼容性问题。
  • 对于ECMAScript语法来说,在node.js和浏览器中都能运行。node.js无法使用DOM和BOM的操作,浏览器无法执行node.js中的文件操作等功能。
  • 浏览器下this指向window,nodejs中this指向global
  • 使用的模块标准不同,nodejs使用的是CommonJs的模块标准,而浏览器使用的是ES的模块标准。所以nodejs中使用的是require()导入模块;浏览器中js使用的是import的方式导入。

底层核心区别

浏览器和Node 环境下,microtask 任务队列的执行时机不同

  • Node端,microtask 在事件循环的各个阶段之间执行
  • 浏览器端,microtask 在事件循环的 macrotask 执行完之后执行

浏览器与Node的事件循环(Event Loop)有何区别?_高先生的猫的博客-CSDN博客_浏览器事件循环和node事件循环

你不知道的谷歌V8引擎的前世今生 Chrome V8 与 Node.js - 知乎

Chrome V8 简称 V8,是由谷歌开源的一个高性能 JavaScript 引擎。该引擎采用 C++ 编写,Google Chrome 浏览器用的就是这个引擎。V8 可以单独运行,也可以嵌入 C++ 应用当中。

该研发小组从 2006 年开始研发 V8原因是当年市面上的各种 JavaScript 引擎效率都比较低下。在 Lars Bak 等人的贡献下,JavaScript 引擎添加了新的一员—— Chrome V8,并且效率非常高。

关于Node和浏览器的不同_~小仙女~的博客-CSDN博客_node和浏览器的区别

浏览器与JS与node.js有什么区别 - 简书

Chrome V8 与 Node.js - 知乎


五、JS单线程运行原理与多线程_二旬、的博客-CSDN博客_js单线程和多线程的区别

终极链接

浏览器与Node的事件循环(Event Loop)有何区别?_高先生的猫的博客-CSDN博客_浏览器事件循环和node事件循环
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值