Node.js 全局对象

Node.js 全局对象

参考https://www.runoob.com/nodejs/nodejs-global-object.html

  • 全局对象global(其所有属性称为全局变量),任何地方都可以访问;
  • JavaScript中window是全局对象,Node.js中global是全局对象。

全局对象和全局变量

全局变量

  • 在最外层定义的变量
  • 全局对象的属性也是全局变量
  • 隐式定义的变量,即不使用let、var、const等关键词而直接赋值的变量

定义一个全局变量的时候,它也会变为全局对象的属性;
在Node.js中不可能在最外层定义对象,因为用户代码都是属于当前模块的。

最好不要使用var等关键字定义变量,以避免引入全局变量而影响代码耦合

全局对象global的属性

  • __filename:当前正在执行的脚本名称(绝对路径),string类型,注意是两个下划线;

  • __dirname:当前执行脚本所在目录(绝对路径),string类型,注意是两个下划线;

  • setTimeout(cb, ms):在指定毫秒(ms)数后执行指定函数(cb),只执行一次;

  • clearTimeout(t):停止之前通过setTimeout()创建的定时器:

    var t = setTimeout(functionName, 1000);//1s后执行functionName
    clearTimeout(t);//清除上一行声明的定时器
    
  • setInterval(cb, ms):同setTimeout(cb, ms),但是是周期执行而不是一次,直到调用clearInterval(t)或者停止脚本;

  • console:专门用于控制台日志输出,其全局方法有console.log()、console.info()等

  • process

常用事件:

  1. exit:当进程准备退出时触发;
  2. beforeExit:当node清空事件循环,并且没有其他的进程安排的时候触发;通常没有进程安排时node就会退出,但是'beforeExit'的监听器可以异步调用,从而node继续执行;
  3. uncaughtException:当一个异常回到事件循环,就会触发,如果添加了响应的监听器就会覆盖默认的打印堆栈跟踪信息等操作;
  4. Signal事件:当进程接收到信号时就触发。

使用process.on('事件名', 监听器)来监听事件。

posted @ 2020-12-27 11:31  pangqianjin  阅读(117)  评论(0编辑  收藏  举报