NodeJS全局对象

69 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

Node.js的全局对象是具有全局性的,它们可在所有的模块中应用。我们并不需要包括这些对象在应用中,而可以直接使用它们。

__filename

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

 console.log(__filename);

运行:

 $ node main.js

结果(当前文件绝对路径):

 C:\Users\Lamb\Desktop\node\index.js

__dirname

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

 console.log(__dirname);

运行:

 $ node main.js

结果(当前文件目录):

 C:\Users\Lamb\Desktop\node

setTimeout(cb, ms)

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

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

 function printHello(){
    console.log( "Hello, World!");
 }
 // Now call above function after 2 seconds
 setTimeout(printHello, 2000);

clearTimeout(t)

clearTimeout(t)的全局函数用来停止以前用的setTimeout()创建一个定时器。这里t是由setTimeout()函数返回的计时器。

 function printHello(){
    console.log( "Hello, World!");
 }
 // Now call above function after 2 seconds
 var t = setTimeout(printHello, 2000);
 ​
 // Now clear the timer
 clearTimeout(t);

setInterval(cb, ms)

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

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

 function printHello(){
    console.log( "Hello, World!");
 }
 // Now call above function after 2 seconds
 setInterval(printHello, 2000);

console

console 用于提供控制台标准输出,它是由 Internet Explorer 的 JScript 引擎提供的调试工具,后来逐渐成为浏览器的实施标准。

Node.js 沿用了这个标准,提供与习惯行为一致的 console 对象,用于向标准输出流(stdout)或标准错误流(stderr)输出字符。

console对象的常用方法(最常用的还是console.log):

序号方法 & 描述
1console.log(data) 向标准输出流打印字符并以换行符结束。该方法接收若干 个参数,如果只有一个参数,则输出这个参数的字符串形式。如果有多个参数,则 以类似于C 语言 printf() 命令的格式输出。
2console.info(data) 该命令的作用是返回信息性消息,这个命令与console.log差别并不大,除了在chrome中只会输出文字外,其余的会显示一个蓝色的惊叹号。
3console.error(data) 输出错误消息的。控制台在出现错误时会显示是红色的叉子。
4console.warn(data) 输出警告消息。控制台出现有黄色的惊叹号。
5console.dir(obj[, options]) 用来对一个对象进行检查(inspect),并以易于阅读和打印的格式显示。
6console.time(label) 输出时间,表示计时开始。
7console.timeEnd(label) 结束时间,表示计时结束。
8console.trace(message[, ...]) 当前执行的代码在堆栈中的调用路径,这个测试函数运行很有帮助,只要给想测试的函数里面加入 console.trace 就行了。
9console.assert(value, message) 用于判断某个表达式或变量是否为真,接收两个参数,第一个参数是表达式,第二个参数是字符串。只有当第一个参数为false,才会输出第二个参数,否则不会有任何结果。