Skip to content
On this page

什么是Node, 与浏览器JavaScript的区别?

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,可以在服务器端运行 JavaScript 代码。其主要特点包括:

  • 非阻塞、事件驱动的 I/O 模型:利用事件循环机制和回调函数处理并发请求,提高了系统的吞吐量和性能。
  • 单线程:通过利用异步非阻塞的特性,可以处理大量并发连接,而无需为每个连接创建新的线程,节省了系统资源。
  • 跨平台:Node.js 可以运行在多个操作系统上,如 Windows、Linux、Mac OS 等。
  • 轻量和高效:Node.js 的设计目标是轻量级、高效的网络应用,适用于实时应用程序和数据密集型的实时 Web 应用。
区别JavaScriptNodejs
环境浏览器中的 JavaScript 运行在浏览器环境中Node.js 运行在服务器端的运行时环境中
API 和对象Node.js 提供了一些额外的 API 和对象,用于操作文件系统、网络、进程等服务器端功能
模块系统浏览器中使用的是 ES6 模块系统,可以使用 import 关键字Node.js 使用 CommonJS 模块系统,可以使用 require() 导入模块
DOM访问在浏览器中,JavaScript 可以访问和操作网页的 DOM在 Node.js 中没有 DOM 访问能力,因为它是针对服务器端开发而设计的

Node.js的运行机制如下:

  • V8引擎解析JavaScript脚本。
  • 解析后的代码,调用Node API。
  • libuv库负责Node API的执行。它将不同的任务分配给不同的线程,形成一个Event Loop(事件循环),以异步的方式将任务的执行结果返回给V8引擎。
  • V8引擎再将结果返回给用户。