Skip to content

Commit cb29423

Browse files
committed
edit nodejs/basic
1 parent 417ef37 commit cb29423

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

nodejs/basic.md

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -218,18 +218,25 @@ callback的第一个参数是一个Error对象,第二个参数才是真正的
218218

219219
### 全局对象和全局变量
220220

221-
Node提供以下一些全局对象,它们是所有模块都可以调用的。
221+
Node提供以下几个全局对象,它们是所有模块都可以调用的。
222222

223-
- **global**:表示Node所在的全局环境,类似于浏览器中的window对象。
224-
- **process**:指向Node内置的process模块,允许开发者与当前进程互动。
223+
- **global**:表示Node所在的全局环境,类似于浏览器的window对象。需要注意的是,如果在浏览器中声明一个全局变量,实际上是声明了一个全局对象的属性,比如`var x = 1`等同于设置`window.x = 1`,但是Node不是这样,至少在模块中不是这样(REPL环境的行为与浏览器一致)。在模块文件中,声明`var x = 1`,该变量不是`global`对象的属性,`global.x`等于undefined。这是因为模块的全局变量都是该模块私有的,其他模块无法取到。
224+
225+
- **process**:该对象表示Node所处的当前进程,允许开发者与该进程互动。
225226
- **console**:指向Node内置的console模块,提供命令行环境中的标准输入、标准输出功能。
227+
- **module**:该对象指向当前模块,`module.exports`属性是该模块对外的接口,被require方法调用。module实际上不是全局变量,而是每个模块私有的。
228+
- **exports**:该对象指向`module.exports`属性,是该属性的简写形式。exports也不是全局变量,而是每个模块私有的。
226229

227-
全局函数:
230+
Node还提供一些全局函数。
228231

229-
- **定时器函数**:共有4个,分别是setTimeout(), clearTimeout(), setInterval(), clearInterval()。
230-
- **require**:用于加载模块。
232+
- **setTimeout()**:用于在指定毫秒之后,运行回调函数。实际的调用间隔,还取决于系统因素。间隔的毫秒数在1毫秒到2,147,483,647毫秒(约24.8天)之间。如果超过这个范围,会被自动改为1毫秒。该方法返回一个整数,代表这个新建定时器的编号。
233+
- **clearTimeout()**:用于终止一个setTimeout方法新建的定时器。
234+
- **setInterval()**:用于每隔一定毫秒调用回调函数。由于系统因素,可能无法保证每次调用之间正好间隔指定的毫秒数,但只会多于这个间隔,而不会少于它。指定的毫秒数必须是1到2,147,483,647(大约24.8天)之间的整数,如果超过这个范围,会被自动改为1毫秒。该方法返回一个整数,代表这个新建定时器的编号。
235+
- **clearInterval()**:终止一个用setInterval方法新建的定时器。
236+
- **require()**:用于加载模块。
237+
- **Buffer()**:用于操作二进制数据。
231238

232-
全局变量:
239+
Node提供两个全局变量,都以两个下划线开头。
233240

234241
- **_filename**:指向当前运行的脚本文件名。
235242
- **_dirname**:指向当前运行的脚本所在的目录。

0 commit comments

Comments
 (0)