Node.js - 全局对象


Node.js 全局对象本质上是全局的,它们在所有模块中都可用。我们不需要在应用程序中包含这些对象,而是可以直接使用它们。这些对象是模块、函数、字符串和对象本身,如下所述。

__文件名

__filename表示正在执行的代码文件名。这是此代码文件的解析绝对路径。对于主程序,这不一定与命令行中使用的文件名相同。模块内的值是该模块文件的路径。

例子

使用以下代码创建一个名为 main.js 的 js 文件 -

// Let's try to print the value of __filename

console.log( __filename );

现在运行 main.js 来查看结果 -

$ node main.js

根据程序的位置,它将打印主文件名,如下所示 -

/web/com/1427091028_21099/main.js

__目录名

__dirname表示当前执行脚本所在目录名称。

例子

使用以下代码创建一个名为 main.js 的 js 文件 -

// Let's try to print the value of __dirname

console.log( __dirname );

现在运行 main.js 来查看结果 -

$ node main.js

根据程序的位置,它将打印当前目录名称,如下所示 -

/web/com/1427091028_21099

setTimeout(cb, 毫秒)

setTimeout (cb, ms)全局函数用于在至少 ms 毫秒后运行回调 cb。实际延迟取决于操作系统计时器粒度和系统负载等外部因素。计时器的跨度不能超过 24.8 天。

该函数返回一个代表计时器的不透明值,可用于清除计时器。

例子

使用以下代码创建一个名为 main.js 的 js 文件 -

function printHello() {
   console.log( "Hello, World!");
}

// Now call above function after 2 seconds
setTimeout(printHello, 2000);

现在运行 main.js 来查看结果 -

$ node main.js

验证稍有延迟后是否打印输出。

Hello, World!

清除超时(t)

clearTimeout (t)全局函数用于停止先前使用 setTimeout() 创建的计时器。这里t是 setTimeout() 函数返回的计时器。

例子

使用以下代码创建一个名为 main.js 的 js 文件 -

function printHello() {
   console.log( "Hello, World!");
}

// Now call above function after 2 seconds
var t = setTimeout(printHello, 2000);

// Now clear the timer
clearTimeout(t);

现在运行 main.js 来查看结果 -

$ node main.js

验证输出,您不会发现任何打印内容。

setInterval(cb, 毫秒)

setInterval (cb, ms)全局函数用于在至少 ms 毫秒后重复运行回调 cb。实际延迟取决于操作系统计时器粒度和系统负载等外部因素。计时器的跨度不能超过 24.8 天。

此函数返回一个表示计时器的不透明值,可使用函数clearInterval(t)来清除计时器。

例子

使用以下代码创建一个名为 main.js 的 js 文件 -

function printHello() {
   console.log( "Hello, World!");
}

// Now call above function after 2 seconds
setInterval(printHello, 2000);

现在运行 main.js 来查看结果 -

$ node main.js

上面的程序每 2 秒就会执行 printHello() 一次。由于系统限制。

全局对象

下表提供了我们在应用程序中经常使用的其他对象的列表。更详细的内容可以参考官方文档。

先生。 模块名称和描述
1 安慰

用于打印 stdout 和 stderr 上的信息。

2 过程

用于获取当前进程的信息。提供与流程活动相关的多个事件。