Javascript 编程基础(2)基础知识 | 2.1、javascript与Node.js

文章目录

一、Node.js 与 JavaScript

1、基本概念

1.1、JavaScript:动态脚本语言

JavaScript 是一种高级的、解释型的编程语言,主要用于:

  • 为网页添加交互功能
  • 操作网页内容(DOM)
  • 处理用户事件
  • 与服务器通信(AJAX)
javascript 复制代码
// 典型的浏览器端JavaScript
document.getElementById('btn').addEventListener('click', () => {
  alert('按钮被点击!');
});

1.2、Node.js:JavaScript 运行时环境

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,主要特点:

  • 让 JavaScript 能在服务器端运行
  • 提供非阻塞 I/O 和事件驱动架构
  • 包含丰富的内置模块(文件系统、HTTP等)
javascript 复制代码
// 典型的Node.js代码
const http = require('http');
http.createServer((req, res) => {
  res.end('Hello Node.js!');
}).listen(3000);

2、核心区别

特性 JavaScript Node.js
运行环境 浏览器 服务器
主要用途 前端开发 后端开发
API访问 浏览器API(DOM,BOM等) 系统API(文件、网络等)
模块系统 ES6模块(import/export) CommonJS(require)
全局对象 window global
典型应用 网页交互 Web服务器、CLI工具

3、执行环境差异

3.1、浏览器中的JavaScript

  • 受限于浏览器沙箱安全模型
  • 无法直接访问系统资源
  • 依赖浏览器提供的API
  • 主要用于响应用户交互

3.2、Node.js中的JavaScript

  • 可以访问本地文件系统
  • 能创建网络服务
  • 可以执行系统命令
  • 适合I/O密集型应用
javascript 复制代码
// Node.js访问文件系统示例
const fs = require('fs');
fs.readFile('file.txt', 'utf8', (err, data) => {
  if (err) throw err;
  console.log(data);
});

4、共同点

尽管有上述区别,两者共享:

  • 相同的语言语法
  • 相同的数据类型
  • 相同的核心语言特性
  • 事件驱动编程模型

5、为什么需要Node.js?

  • 统一语言:前后端都使用JavaScript,降低学习成本
  • 高性能:非阻塞I/O适合高并发场景
  • 丰富的生态:npm拥有最大规模的包管理系统
  • 开发效率:代码复用和共享更方便

现代Web开发中,两者通常配合使用,JavaScript处理客户端逻辑,Node.js处理后端服务,共同构成完整的JavaScript全栈解决方案。

相关推荐
必须会一定会4 分钟前
GLM-5.3 迁移实战:强制思考、1M 上下文与官方编程基准
android·开发语言·kotlin
牛油果子哥q8 分钟前
C++STL容器详解:vector/list/string底层扩容、迭代器失效终极解决、容器选型避坑
开发语言·c++·list
Asize13 分钟前
为什么写代码前要先规划组件树?Next.js + Redis 笔记系统实战
前端·javascript·next.js
meilindehuzi_a16 分钟前
Next.js 全栈基础实战:从 SPA、SSR 到 App Router 与 Todo API
开发语言·javascript·ecmascript
渣波21 分钟前
重构旅行体验:基于 React 的 AI 旅游助手对话系统实战解析
前端·javascript
Chen—LSN22 分钟前
C语言——数据在内存中的存储
c语言·开发语言·经验分享·笔记
李顿波26 分钟前
Chrome 插件弹窗一直停留在初始的小尺寸 —— 你看到的小方块
前端·javascript·chrome
渣波28 分钟前
React 移动端首页架构实战:从并发请求到防御性编程的深度解析
前端·javascript
caimouse32 分钟前
ReactOS 图形系统分析(24):指针(光标)管理 — mouse.c/h
c语言·开发语言
上玄code33 分钟前
【Agent精讲】调一个LLMAPI背后的工程问题
java·开发语言·python·chatgpt