interview
frontend-classic
Node.js有哪些全局对象?它们分别有什么作用?

前端经典面试题合集, Node.js 有哪些全局对象?它们分别有什么作用?

前端经典面试题合集, Node.js 有哪些全局对象?它们分别有什么作用?

QA

Step 1

Q:: Node.js 有哪些全局对象?它们分别有什么作用?

A:: Node.js 提供了一些全局对象,这些对象在任何模块中都可以直接使用,无需通过 require 命令加载。主要包括:

1. global:全局命名空间对象,所有全局变量的宿主。 2. process:提供关于当前 Node.js 进程的信息和控制。 3. console:提供与浏览器中 console 对象类似的控制台输出功能。 4. Buffer:处理二进制数据的类。 5. setTimeout(callback, delay)setInterval(callback, delay):定时器函数。 6. clearTimeout(timeoutId)clearInterval(intervalId):清除定时器函数。 7. __dirname:当前模块文件所在目录的绝对路径。 8. __filename:当前模块文件的绝对路径。

Step 2

Q:: 如何使用 Buffer 对象处理二进制数据?

A:: Buffer 对象是用来操作二进制数据的。可以通过 Buffer.from() 方法从字符串或数组创建 Buffer 对象,或使用 Buffer.alloc() 方法分配新的 Buffer。常见的方法有:

1. Buffer.from(array)``: 通过数组创建 Buffer 对象。 2. Buffer.from(string, encoding)``: 通过字符串创建 Buffer 对象,编码默认为 'utf8'3. Buffer.alloc(size)``: 分配指定大小的新 Buffer,初始化为 04. buffer.toString(encoding, start, end)``: 将 Buffer 转换为字符串,指定编码和范围。 5. buffer.write(string, offset, length, encoding)``: 将字符串写入 Buffer,从指定偏移开始。

Step 3

Q:: process 对象的常见用途是什么?

A:: process 对象提供有关 Node.js 进程的信息和控制。常见用途包括:

1. process.env:访问环境变量。 2. process.argv:获取命令行参数数组。 3. process.exit(code):退出进程,传递退出码。 4. process.cwd():返回当前工作目录。 5. process.nextTick(callback):在事件循环的下一次迭代中调用回调函数。 6. process.on('exit', callback):在进程即将退出时执行回调。

Step 4

Q:: 如何在 Node.js 中实现定时任务?

A:: 在 Node.js 中,可以使用 setTimeout 和 setInterval 方法实现定时任务:

1. setTimeout(callback, delay)``: 在指定的毫秒数之后执行回调函数一次。 2. setInterval(callback, delay)``: 每隔指定的毫秒数执行回调函数。 3. clearTimeout(timeoutId)``: 取消由 setTimeout 设置的定时任务。 4. clearInterval(intervalId)``: 取消由 setInterval 设置的定时任务。

用途

面试这个内容的目的是评估候选人对 Node`.`js 核心功能和全局对象的理解,这对于开发高效、稳定的服务器端应用程序非常重要。在实际生产环境中,这些全局对象用于管理进程、处理二进制数据、实现定时任务以及进行各种系统级操作。\n

相关问题

🦆
如何读取和写入文件?

使用 Node.js 提供的 fs 模块可以读取和写入文件:

1. fs.readFile(path, encoding, callback):异步读取文件内容。 2. fs.writeFile(path, data, callback):异步写入文件内容。 3. fs.readFileSync(path, encoding):同步读取文件内容。 4. fs.writeFileSync(path, data):同步写入文件内容。

🦆
如何处理未捕获的异常?

可以通过 process 对象的 'uncaughtException' 事件处理未捕获的异常:

process.on('uncaughtException', (err) => { console.error('未捕获的异常:', err); `});“

🦆
如何进行 HTTP 请求?

可以使用 Node.js 的 http 或 https 模块进行 HTTP 请求:

1. http.get(url, callback):发送 GET 请求。 2. http.request(options, callback):发送自定义 HTTP 请求。 3. https.get(url, callback):发送 HTTPS GET 请求。 4. https.request(options, callback):发送自定义 HTTPS 请求。

🦆
如何创建和管理子进程?

可以使用 Node.js 的 child_process 模块创建和管理子进程:

1. child_process.exec(command, callback):执行命令并返回标准输出。 2. child_process.spawn(command, args, options):生成一个新的进程,允许流式传输数据。 3. child_process.fork(modulePath, args, options):生成一个新的 Node.js 进程,并且与父进程建立通信通道。