全部学科
NodeJS全栈
nodejs
Python全栈
python
📝 1 篇文章 20 道配套习题

NodeJS全局对象专题

专题说明

本专题面向Node.js初学者,系统讲解全局对象基础知识,从Buffer二进制处理、模块路径变量到模块系统、定时器函数和进程对象,帮助开发者掌握Node.js核心API的使用方法。

学习目标

  1. 掌握Buffer的创建、转换和常用方法
  2. 理解__dirname与__filename的区别和使用场景
  3. 学会使用module.exports和require实现模块导出导入
  4. 掌握setTimeout、setInterval、setImmediate的用法和清除方法
  5. 了解process对象的常用属性和事件

学习内容

本专题涵盖以下知识点:

  • Buffer:二进制数据处理、创建方式(alloc/from)、常用方法(toString/slice/concat/fill)、编码转换
  • __dirname/__filename:模块路径变量、与process.cwd的区别、使用场景
  • module/exports:模块导出机制、exports与module.exports区别、推荐用法
  • require:模块导入、缓存机制、路径规则、模块类型(内置/第三方/自定义/JSON)
  • 定时器函数:setTimeout/setInterval/setImmediate用法、清除方法、执行时机
  • process对象:常用属性、进程控制方法、事件监听
  • console:日志输出方法、计时功能

学习建议

  1. Buffer是Node.js处理二进制数据的基础,理解其与字符串的转换
  2. __dirname和__filename是路径处理的关键变量,注意与process.cwd的区别
  3. module.exports和require是模块系统的核心,务必理解缓存机制
  4. 定时器函数使用后记得清除,避免内存泄漏
  5. process对象的事件监听是进程管理的重要手段

📝 配套习题(20 题)

💡 参考答案在文末
判断题
1

Node.js中的global对象是全局作用域,在任何模块中都可以访问,添加到global的属性在其他模块中也能访问。

A

B

2

Node.js模块系统:module.exports用于导出模块内容,require用于导入模块,exports是module.exports的引用但不能直接赋值,require返回module.exports的内容且有缓存机制。

A

B

3

console.time()和console.timeEnd()必须使用相同的标签名,用于测量代码执行时间。

A

B

4

Buffer.toString()方法默认使用utf8编码将Buffer转换为字符串。

A

B

5

process对象可以监听exit事件执行退出前的清理操作,监听uncaughtException捕获未处理的异常。

A

B

6

__filename全局变量表示当前执行脚本文件的完整绝对路径,包含文件名。

A

B

7

Node.js中require有缓存机制,同一模块被多次require时,后续调用返回缓存的模块,不会重新执行模块代码。

A

B

单选题
8

Node.js的process对象主要用于什么?

A

处理文件操作

B

提供当前Node.js进程信息和控制

C

网络通信

D

数据库操作

9

setInterval与setTimeout的主要区别是什么?

A

setInterval只执行一次

B

setInterval重复执行

C

setInterval不返回ID

D

setInterval立即执行

10

Node.js中导出模块内容,应使用哪个对象?

A

exports

B

module.exports

C

global.exports

D

return

11

Node.js中Buffer主要用于处理什么类型的数据?

A

文本字符串

B

二进制数据流

C

JSON对象

D

数值数组

12

console.log()输出的信息默认流向哪里?

A

文件

B

标准输出stdout

C

网络请求

D

数据库

13

Node.js中require函数的作用是什么?

A

创建新模块

B

导入模块

C

导出模块

D

删除模块

14

setTimeout函数的作用是什么?

A

立即执行回调函数

B

在指定延迟后执行回调函数

C

重复定时执行回调函数

D

取消定时执行

15

__dirname全局变量表示什么?

A

当前执行脚本文件的完整路径

B

当前执行脚本文件所在目录的绝对路径

C

Node.js安装目录

D

工作目录

16

以下哪种方式可以安全地创建一个指定大小的Buffer?

A

Buffer.new(10)

B

Buffer.alloc(10)

C

Buffer.create(10)

D

Buffer.size(10)

多选题
17

Node.js中清除定时器的正确方法有哪些?

A

clearTimeout清除setTimeout

B

clearInterval清除setInterval

C

clearImmediate清除setImmediate

D

deleteTimer删除定时器

18

Node.js中require可以导入哪些类型的模块?

A

内置模块(如fs、http)

B

第三方模块(npm安装)

C

自定义模块(本地文件)

D

JSON文件

E

CSS文件

19

Buffer提供以下哪些常用方法?

A

toString():转换为字符串

B

slice():截取部分Buffer

C

concat():合并多个Buffer

D

fill():填充Buffer

E

push():添加数据

填空题
20

process进程控制: ____________ 退出进程; ____________ 获取 ____________ ; process.chdir 更改 工作目录 ; process.kill 发送 信号 给进程; process.abort 强制终止。 process.pid 是进程 ID 。

参考答案
1.正确 2.正确 3.正确 4.正确 5.正确 6.正确 7.正确 8.B 9.B 10.B 11.B 12.B 13.B 14.B 15.B 16.B 17.A;B;C 18.A;B;C;D 19.A;B;C;D 20.process.exit;process.cwd;当前工作目录
想在手机上练习这套专题?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一个专题 NodeJS事件驱动基础专题
下一个专题 → NodeJS安全与稳定性专题
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码