Node.js 全局对象

Node.js 全局对象

JavaScript中有一个特别的对象,称之全局对象,它及其一切属性都能够在顺序都任何地方接见,即全局对象

JS的全局对象是window,而Node的全局对象是global,在node.js中,一切的全局变量都是global对象的属性。
在Node.js我们能够直接接见到global的属性,而不须要在运用中包括它。

全局对象与全局变量

global嘴笨根的作用就是作为全局变量的宿主。和window一样

什么是全局变量呢,满足一下前提的变量即称之为全局变量:

1 在最外层定义的变量;
2 全局对象的属性;
3 隐式定义的变量 (为定义直接赋值的变量)。

当我们定义了一个全局变量,这个变量同时就会成为global的属性。
这里须要注重的是,在Node.js中你不可能在最外层定义变量。由于一切用户代码都是属于当前模块的,而模块自身不是最外层上下文。
注重:永久运用 var 定义变量以防止引入全局变量,由于全局变量会污染 定名空间,进步代码的耦合风险。

接下来看看node当中的全局变量

__filename (两个下划线) : 示意的是当前正在实行的剧本的文件名。它将暑促文件地点位置的绝对途径,切和敕令行参数所指定的文件名不一定想动。假如在模块中,返回的值是模块文件的途径。

例子

《Node.js 全局对象》

效果

《Node.js 全局对象》

__dirname : 示意当前实行剧本的地点目次

《Node.js 全局对象》

setTimeout(cb, ms) : 定时器 第一个参数为指定函数,第二个参数为毫秒 ,返回值为代表定时器的句柄值

function sayHello() {
    console.log('Hello World')
}
setTimeout(sayHello , 2000)  //效果为两秒今后输出Hello World

clearTimeout(t) : 清空定时器,用于住手之前经由过程setTimeout建立的定时器。参数t是经由过程setTimeout函数建立的定时器。

function sayHello() {
    console.log('Hello World')
}
let t = setTimeout(sayHello , 2000)
clearTimeout(t)

setInterval(cb, ms) : setInterval里第一个参数为函数,第二个参数为毫秒,返回一个代表定时器的句柄值,与setTimeout()要领区分在于setInterval会不断的挪用函数,直到clearInterval()被挪用或窗口封闭

function sayHello() {
    console.log('Hello World')
    // clearInterval(t) 假如不写clearInterval 顺序会一向实行打印Hello World
}
let t = setInterval(sayHello,2000)

接下来就是console要领,console用于供应控制台规范输出,多用于调试。

1 console.log(data)
向规范输出流打印字符并以换行符完毕。该要领吸收多少 个参数,假如只要一个参数,则输出这个参数的字符串情势。假如有多个参数,则 以类似于C 言语 printf() 敕令的花样输出。
2 console.info(data)
该敕令的作用是返回信息性音讯,这个敕令与console.log差异并不大,除了在chrome中只会输出笔墨外,其他的会显现一个蓝色的惊叹号。
3 console.error(data)
输出毛病音讯的。控制台在涌现毛病时会显现是赤色的叉子。
4 console.warn(data)
输出正告音讯。控制台涌现有黄色的惊叹号。
5 console.dir(obj[, options])
用来对一个对象进行检查(inspect),并以易于浏览和打印的花样显现。
6 console.time(label)
输出时候,示意计时最先。
7 console.timeEnd(label)
完毕时候,示意计时完毕。
8 console.trace(message[, …])
当前实行的代码在客栈中的挪用途径,这个测试函数运转很有协助,只要给想测试的函数内里到场 console.trace 就好了。
9 console.assert(value, message)
用于推断某个表达式或变量是不是为真,吸收两个参数,第一个参数是表达式,第二个参数是字符串。只要当第一个参数为false,才会输出第二个参数,不然不会有任何效果。

下一篇继承写全局对象— process

    原文作者:ˉˉˉ以默轩然
    原文地址: https://segmentfault.com/a/1190000019398394
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞