Nodejs全局可用变量函数和对象实例代码分析
更新时间:2023-12-08
## 全局变量
在Node.js中,一些变量被定义为全局变量,它们可以在应用程序中的任何地方使用。下面我们来看一下其中一些具有代表性的全局变量及其作用:
### __filename
`__filename` 变量会输出当前模块的文件名(包含路径)。比如我们有一个文件 `example.js`,运行以下代码:
```javascript
console.log(__filename);
```
终端会输出该文件的路径及文件名:
```
/home/user/Documents/example.js
```
### __dirname
`__dirname` 变量会输出当前文件所在目录的路径。同样以 `example.js` 文件为例,我们在其中运行以下代码:
```javascript
console.log(__dirname);
```
终端会输出当前文件所在的目录路径:
```
/home/user/Documents
```
### console
`console` 是一个全局对象,我们可以通过它来进行调试和打印日志。下面是几个常用的 `console` 方法:
- `console.log()`:用于打印输出信息。
- `console.warn()`:输出警告信息。
- `console.error()`:输出错误信息。
- `console.table()`:把对象数组以表格形式打印出来。
下面是一个简单的代码示例:
```javascript
console.log("Hello World!");
console.table([{ name: 'John', age: 22 }, { name: 'Jane', age: 27 }]);
```
## 全局函数
除了全局变量外,Node.js还提供了一些全局函数,这些函数可以直接在应用程序中调用。下面我们来看一下其中一些常用的全局函数:
### setTimeout()
`setTimeout()` 函数用于在一定时间之后执行代码。它接收两个参数:要执行的代码,以及延迟的时间(以毫秒为单位)。以下代码会在 3 秒后输出 "Hello, World!":
```javascript
setTimeout(function () {
console.log("Hello, World!");
}, 3000);
```
### setInterval()
`setInterval()` 函数可用于按照指定的时间间隔重复执行代码。它也接收两个参数:要执行的代码和时间间隔(以毫秒为单位)。以下代码会延迟 3 秒后每隔 1 秒输出一次 "Hello, World!":
```javascript
setInterval(function () {
console.log("Hello, World!");
}, 1000);
```
### require()
`require()` 是Node.js中非常重要的函数,它用于加载模块。Node.js中有很多内置模块可供我们直接使用,同时我们也可以编写自己的模块并通过 `require()` 函数加载。以下是一个简单的示例:
```javascript
const fs = require('fs');
console.log(fs);
```
该代码会输出 `fs` 模块的内容,该模块可用于读取和写入文件。
## 全局对象
与浏览器中的 `window` 对象不同,Node.js 中有一个名为 `global` 的对象。它可以让我们在全局范围内定义变量和函数,这些变量和函数可以在整个应用程序中访问。下面来看一下一些常见的 `global` 对象和变量:
### process
`process` 是一个全局对象,代表了当前 Node.js 进程。我们可以用它来获取一些有用的信息,如环境变量、命令行参数等等。以下是一个代码示例:
```javascript
console.log(process.env.NODE_ENV); // 获取环境变量 NODE_ENV
console.log(process.argv); // 获取命令行参数
```
### Buffer
`Buffer` 是一个全局对象,用于处理二进制数据。它允许我们在内存中存储和操作二进制数据,可以用于加密解密等操作。以下是一个示例:
```javascript
const buf = Buffer.from('hello', 'utf8');
console.log(buf);
```
这段代码将通过 `Buffer.from()` 函数把字符串 "hello" 转换为一个 `Buffer` 对象,并输出该对象的内容。
## 总结
Node.js提供了一些非常实用的全局变量、函数和对象,它们可以帮助我们更方便地编写 JavaScript 程序。上文中仅列举了一些常见的变量、函数和对象,实际上还有很多其他的全局变量、函数和对象,开发者可以根据自己的需求进行查找和使用。同时,使用全局变量、函数和对象需要谨慎,不当的使用可能会导致程序出现问题。