NodeJS 常用函数

var object = JSON.parse(string)

把一句符合JSON格式规范的字符串转换成object对象。


var string = JSON.stringify(object)

把一个object对象转换成一句JSON字符串。


Math.random()

返回0和1之间的伪随机数。可能为0,但总是小于1,取值范围[0, 1)

获取属于[n, m)范围内的整数,可以这样写:

randomNum = parseInt(Math.random() * (m-n), 10);


Math.ceil()

返回大于等于数字参数的最小整数(取整函数),对数字进行上舍入


Math.floor()
返回小于等于数字参数的最大整数,对数字进行下舍入


Math.round()

返回数字最接近的整数,四舍五入





<think>好的,用户想学习Node.js的常用语法和方法,需要总结相关内容。首先,我需要回忆Node.js的基础知识,比如模块系统、内置模块的使用,以及常见的语法结构。 用户提供的引用内容里提到了fs模块、path模块、console.log等,这些应该是重点。需要确保覆盖到这些部分,同时可能还要提到其他常用模块如http和events。 接下来要考虑如何组织信息。可能分为基础语法、内置模块、模块化开发、异步编程等部分。每个部分需要简明扼要,用代码示例辅助说明。例如,fs.readFile和fs.writeFile的使用方法,加上代码示例会更清晰。 还要注意用户提到的系统级指令,比如数学表达式使用$...$,独立公式用$$...$$。不过Node.js的内容可能涉及较少数学公式,但如果有的话需要正确格式化。例如,在讲解Buffer时可能需要涉及二进制数据,但暂时可能不需要数学表达式。 另外,用户要求生成相关问题,需要根据内容提出相关的问题,比如模块化开发的优缺点、异步编程原理等。这些问题要自然,能够帮助用户深入理解。 需要检查引用的正确性,确保每个引用标记对应正确的内容。例如,引用[1]是关于基础语法,引用[2]是执行代码,引用[3]是path模块的例子,引用[4]是fs模块的方法参数。确保在回答中提到这些引用时位置正确。 最后,要保持回答结构清晰,分点说明,代码用代码块展示,符合用户要求的格式。可能还需要提醒用户实践的重要性,比如安装Node.js和通过VS Code运行代码,如引用[2]提到的。</think>### Node.js 常用语法与内置方法总结 #### 一、基础语法与运行环境 1. **运行环境** Node.js 是运行在服务端的 JavaScript 环境,可直接通过命令行执行代码[^1]。例如: ```javascript console.log("hello node.js"); // 输出:hello node.js [^2] ``` 2. **模块化开发** Node.js 使用 `require` 导入模块,`module.exports` 导出功能: ```javascript // 导出模块 const myModule = { name: "utils" }; module.exports = myModule; // 导入模块 const utils = require('./utils.js'); ``` --- #### 二、常用内置模块 1. **文件系统模块 (`fs`)** 用于文件读写操作,支持同步和异步方法[^4]: ```javascript const fs = require('fs'); // 异步写入文件 fs.writeFile('/path/file.txt', '内容', (err) => { if (err) throw err; console.log('写入成功'); }); // 异步读取文件 fs.readFile('/path/file.txt', 'utf8', (err, data) => { if (err) throw err; console.log(data); }); ``` 2. **路径处理模块 (`path`)** 用于规范化文件路径,常用方法如 `path.extname()` 获取扩展名[^3]: ```javascript const path = require('path'); const ext = path.extname('/a/b/c/index.html'); // 输出:.html ``` 3. **HTTP 模块** 可创建 Web 服务器: ```javascript const http = require('http'); http.createServer((req, res) => { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello Node.js'); }).listen(8080); ``` 4. **事件模块 (`events`)** 实现事件驱动编程: ```javascript const EventEmitter = require('events'); const emitter = new EventEmitter(); emitter.on('event', () => console.log('事件触发')); emitter.emit('event'); // 输出:事件触发 ``` --- #### 三、异步编程核心 1. **回调函数** Node.js 通过回调处理异步操作: ```javascript fs.readFile('file.txt', 'utf8', (err, data) => { if (err) return console.error(err); console.log(data); }); ``` 2. **Promise 与 Async/Await** 更优雅的异步控制方式: ```javascript // Promise 示例 const readFilePromise = (path) => new Promise((resolve, reject) => { fs.readFile(path, 'utf8', (err, data) => { if (err) reject(err); else resolve(data); }); }); // Async/Await 调用 (async () => { const data = await readFilePromise('file.txt'); console.log(data); })(); ``` --- #### 四、实用工具方法 1. **Buffer 处理二进制数据** ```javascript const buf = Buffer.from('Hello', 'utf8'); console.log(buf); // 输出:<Buffer 48 65 6c 6c 6f> ``` 2. **定时器** ```javascript setTimeout(() => console.log('1秒后执行'), 1000); setInterval(() => console.log('每秒执行'), 1000); ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值