javascript 编程基础(2)javascript与Node.js
文章目录
- 一、Node.js 与 JavaScript
- 1、基本概念
- 1.1、JavaScript:动态脚本语言
- 1.2、Node.js:JavaScript 运行时环境
- 2、核心区别
- 3、执行环境差异
- 3.1、浏览器中的JavaScript
- 3.2、Node.js中的JavaScript
- 4、共同点
- 5、为什么需要Node.js?
一、Node.js 与 JavaScript
1、基本概念
1.1、JavaScript:动态脚本语言
JavaScript 是一种高级的、解释型的编程语言,主要用于:
- 为网页添加交互功能
- 操作网页内容(DOM)
- 处理用户事件
- 与服务器通信(AJAX)
// 典型的浏览器端JavaScript
document.getElementById('btn').addEventListener('click', () => {alert('按钮被点击!');
});
1.2、Node.js:JavaScript 运行时环境
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,主要特点:
- 让 JavaScript 能在服务器端运行
- 提供非阻塞 I/O 和事件驱动架构
- 包含丰富的内置模块(文件系统、HTTP等)
// 典型的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密集型应用
// 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全栈解决方案。