node.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > node.js > NodeJS和Js之间区别

一文详解NodeJS和Javascript之间有什么区别

作者:风茫

在前端和后端开发的技术栈中,JavaScript 和 Node.js 经常是新手和经验丰富的开发者讨论的热门话题,这篇文章主要介绍了NodeJS和Javascript之间有什么区别的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

前言

这是一个非常经典且重要的问题!Node.js 和 JavaScript 的关系不是“对立”或“并列”,而是“运行环境”与“语言”的关系。下面从多个维度清晰解释它们的区别与联系。

一、一句话总结

JavaScript 是一门编程语言,Node.js 是一个能让 JavaScript 在服务器端运行的运行时环境(Runtime)。

二、详细对比

维度JavaScriptNode.js
本质编程语言(ECMAScript 标准)JavaScript 的运行时环境(基于 V8 引擎)
运行位置浏览器(Chrome、Firefox 等)服务器 / 本地计算机(脱离浏览器)
核心能力操作 DOM、处理用户事件、AJAX 请求读写文件、访问数据库、启动 HTTP 服务器、操作系统资源
全局对象windowdocumentnavigatorglobalprocess__dirnamemodule
模块系统ES Modules (import/export) 或 <script> 标签CommonJS (require/module.exports) + 支持 ES Modules
I/O 模型异步(但受限于浏览器 API)事件驱动 + 非阻塞 I/O(核心优势)
典型用途网页交互、前端框架(Vue/React)后端 API、微服务、脚本工具、实时应用

三、关键区别详解

1.运行环境不同

2.没有 DOM / BOM

3.拥有系统级 API

Node.js 提供了浏览器没有的能力:

// 读写文件
const fs = require('fs');
fs.writeFileSync('log.txt', 'Hello Server');

// 启动 HTTP 服务器
const http = require('http');
http.createServer((req, res) => {
  res.end('Hello from Node.js!');
}).listen(3000);

4.模块系统差异

四、它们的关系图

                ┌───────────────────┐
                │   JavaScript      │ ← 编程语言(ECMAScript)
                └─────────┬─────────┘
                          │
        ┌─────────────────┼─────────────────┐
        ▼                 ▼                 ▼
┌─────────────┐   ┌──────────────┐   ┌──────────────┐
│   浏览器     │   │   Node.js    │   │  Deno / Bun  │
│ (Chrome等)   │   │ (服务器环境) │   │ (新运行时)   │
└─────────────┘   └──────────────┘   └──────────────┘

所以:Node.js 是 JavaScript 的“宿主环境”之一,就像浏览器一样。

五、举个实际例子

假设你要开发一个“用户注册”功能:

前端(浏览器中的 JavaScript)

// 发送注册请求
fetch('/api/register', {
  method: 'POST',
  body: JSON.stringify({ email: 'user@example.com' })
});

后端(Node.js 中的 JavaScript)

// 接收请求,保存到数据库
const express = require('express');
const app = express();

app.post('/api/register', (req, res) => {
  // 1. 验证数据
  // 2. 连接数据库
  // 3. 保存用户
  // 4. 返回结果
  res.json({ success: true });
});

💡 前后端都用 JavaScript,但运行环境和能力完全不同!

常见误区澄清

误区正确理解
“Node.js 是一种新语言”Node.js 不是语言,是运行时
“学了前端 JS 就会 Node.js”语法相同,但 API 和思维模式不同(需学 Node 特有模块)
“Node.js 可以替代浏览器 JS”两者用途不同,通常配合使用(全栈开发)

总结

JavaScriptNode.js
是什么编程语言JS 运行时
在哪跑浏览器服务器/本地
能做什么操作网页操作文件、网络、系统
是否依赖对方不依赖依赖 JS 语言

掌握这个区别,是迈向 全栈开发 牛马的第一步!

到此这篇关于NodeJS和Javascript之间有什么区别的文章就介绍到这了,更多相关NodeJS和Js之间区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文