- Node.js 教程
- Node.js - 主页
- Node.js - 简介
- Node.js - 环境设置
- Node.js - 第一个应用程序
- Node.js - REPL 终端
- Node.js - 包管理器 (NPM)
- Node.js - 回调概念
- Node.js - 事件循环
- Node.js - 事件发射器
- Node.js - 缓冲区
- Node.js - 流
- Node.js - 文件系统
- Node.js - 全局对象
- Node.js - 实用模块
- Node.js - Web 模块
- Node.js - Express 框架
- Node.js - RESTFul API
- Node.js - 扩展应用程序
- Node.js - 打包
- Node.js - 内置模块
- Node.js 有用资源
- Node.js - 快速指南
- Node.js - 有用的资源
- Node.js - 讨论
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() 一次。由于系统限制。
全局对象
下表提供了我们在应用程序中经常使用的其他对象的列表。更详细的内容可以参考官方文档。