当前位置: 首页 > 文档资料 > Node.js 中文教程 >

全局对象( Global Objects)

优质
小牛编辑
137浏览
2023-12-01

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

__filename

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

例子 (Example)

使用以下代码创建名为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

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

例子 (Example)

使用以下代码创建名为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, ms)

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

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

例子 (Example)

使用以下代码创建名为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!

clearTimeout(t)

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

例子 (Example)

使用以下代码创建名为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, ms)

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

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

例子 (Example)

使用以下代码创建名为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()。 由于系统限制。

全球对象

下表提供了我们在应用程序中经常使用的其他对象的列表。 有关更多详细信息,请参阅官方文档。

Sr.No.模块名称和描述
1Console

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

2Process

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