node.js知识点总结

1、Node.js

Node. js是一个基于 Chrome v8引擎的服务器端 JavaScript运行环境;Node. js是一个事件驱动、非阻塞式I/O的模型,轻量而又高效;Node. js的包管理器npm是全球最大的开源库生态系统。

2、数据处理中的buffer:

具体详见:Node.js中使用Buffer编码、解码二进制数据详解_node.js_脚本之家

Node有一个二进制缓冲实现Buffer,这个伪类(pseudo-class)提供了一系列处理二进制数据的API,简化了那些需要处理二进制数据的任务。缓冲的长度由字节数据的长度决定,而且你可以随机的设置和获取缓冲内的字节数据。

3、为什么要用 Node. js?

(1)简单, Node. js用 JavaScript、JSON进行编码,简单好学。

(2)功能强大,非阻塞式I/O,在较慢的网络环境中,可以分块传输数据,事件驱动,擅长高并发访问。

(3)轻量级, Node. js本身既是代码又是服务器,前后端使用同一语言。

(4)可扩展,可以轻松应对多实例、多服务器架构,同时有海量的第三方应用组件。

4、Node. js有哪些全局对象?

global、 process, console、 module和 exports。

5、process有哪些常用方法?

具体解析:Node 中的 Process 理解,有哪些常用方法? - 喆星高照 - 博客园

process.stdin、 process.stdout、 process.stderr、process.on、 process.env、 process.argv、 process.arch、process.platform、 process.exit

6、console有哪些常用方法?

console.log/console. info、console.error/console.warning、console.time/console.timeEnd 、console.trace、console .table。

7、Node.js有哪些定时功能?

setTimeout/clearTimeout, setInterval/clearInterval、 setImmediate/clearImmediate、 process. nextTick。

8、Node. js中的事件循环是什么样的?

事件循环其实就是一个事件队列,先加入先执行,执行完一次队列,再次循环遍历看有没有新事件加入队列。

执行中的事件叫IO事件, setlmmediate在当前队列中立即执行,setTimout/setInterval把执行定时到下一个队列, process. nextTick在当前队列执行完,下次遍历前执行。所以总体顺序是:IO事件→ setImmediate→ setTimeout/setInterval→ process. nextTick

9、如何应用 Node. js中的 Buffer?

Buffer是用来处理二进制数据的,比如图片、MP3、数据库文件等。Buffer支持各种编码解码、二进制字符串互转。

10、Node. js中的异步和同步如何理解?

Node.js是单线程的,异步是通过一次次的循环事件队列来实现的。同步则是阻塞式的IO,这在高并发环境中会是一个很大的性能问题,所以同步一般只在基础框架启动时使用,用来加载配置文件、初始化程序等。

11、通过哪些方法可以进行异步流程的控制?

通过以下方法可以进行异步流程的控制。

(1)多层嵌套回调。

(2)为每一个回调写单独的函数,函数里边再回调。

(3)用第三方框架,如 async、q、 promise等。

12、通过哪些常用方法可以防止程序崩溃?

通过以下方法可以防止程序崩溃。

(1) try-catch-finally。

(2) EventEmitter/Stream error事件处理。

(3) domain统一控制。

(4) jshint静态检查。(参照:Node.js静态代码检查之JSHint-社区博客-网易数帆

(5) jasmine/mocha单元测试。

13、怎样调试 Node. js程序?

用node-- debug app. js和 node-inspector

14、Node .js的网络模块都有哪些?

Node. js全面支持各种网络服务器和客户端,包括TCP、HTP/ HTTPS、TCP 、UDP、DNS、tls/ssl等。

15、Noe.js是怎样支持 HTTPS、tls的?

主要通过以下几个步骤支持。

(1)使用 openssl生成公钥、私钥。

(2)服务器或客户端使用HTTPS替代HTTP。

(3)服务器或客户端加载公钥、私钥证书。

16、内置的fs模块架构由哪几部分组成?

fs模块主要由下面几部分组成。

(1) POSIX文件 Wrapper,对应操作系统的原生文件操作。

(2)文件流,fs. createReadStream和 fs.createWriteStrean。

(3)同步文件读写, fs.readFileSync和fs.writeFileSync。

(4)异步文件读写, fs.readFile和fs.writeFile。

17、读写一个文件有多少种方法?

总体来说,有4种方法。

(1) POSIX式底层读写。

(2)流式读写。

(3)同步文件读写。

(4)异步文件读写。

18、谈谈栈和堆的区别。

区别如下:

(1)栈( stack)区由编译器自动分配和释放,存放函数的参数值、局部变量的值等。

堆(heap)区一般由程序员分配和释放,若程序员不释放,程序结束时可能由OS回收。

(2)堆(数据结构)可以被看成一棵树,如堆排序。栈(数据结构)是一种先进后出的数据结构。

相关推荐
hoLzwEge15 小时前
pnpm vs npm:新一代包管理器的范式革命
前端框架·node.js
麻辣凉茶16 小时前
给阿嬤一封来自云端的信(上)
前端·node.js
codingWhat2 天前
能效平台设计方案(打通gitlab和飞书)
后端·node.js·koa
见过夏天3 天前
Node.js 常用命令全攻略
node.js
前端双越老师4 天前
我从 0 开发的 AI Agent 智语项目发布了
前端·node.js·agent
kyriewen4 天前
2026 年了,还在用 Node.js?Bun 迁移实战:20 分钟搞定,附踩坑记录
前端·javascript·node.js
donecoding5 天前
3 条命令搞定闭环 Monorepo:Lerna 版本管理 + 拓扑构建 + 自定义分发
前端·前端框架·node.js
Flynt6 天前
npm v12 来了:allowScripts 默认关闭,我的项目差点跑不起来
安全·npm·node.js
叫我Paul就好7 天前
尝试 Node 搭建后端-开发框架
node.js
风止何安啊8 天前
网课倍速痛点解决:一套前端代码实现自由控速播放器
前端·javascript·node.js