Node 全局变量

Node 全局变量 global

除去一些 ES 中的全局对象、方法与变量, Node 还提供一些全局的内置方法、对象与变量用于帮助程序的执行。这些对象与方法能被应用在所有的模块中。

可以使用 console.log(global)命令来查看全局对象与方法
global 对象
现在我们来查看一下这些全局的对象与方法。

对象

global

global用于挂载全局对象与方法。

console

控制台对象,用于向标准输出流出信息。

  • log(), warn(), error(), info() 用于打印日志信息

    有一个参数,即为输出的内容。如果有多个参数,那么与 C语言print()函数相似。
    error() 与其它三个方法不一样的地方就是它不是把内容写入到 process.stdout 而是 process.stderr 中

  • dir(), table() 用于以一种友好的方式显示对象数据。

  • group(), groupEnd(), groupCollapsed() 组团打印。

  • time(), timeEnd(), timeline(), timelineEnd() 基准测试,用于计时。

  • count() 用于查看调用计数。

  • trace() 堆栈追踪。

Buffer

Buffer 是代表原始堆的分配额的数据类型, 在 js 中以类数组方式来进行操作。

  • 使用 toString() 来把数据转化成 utf-8 编码格式的字符串。(默认,当然也可以传入参数来指定编码格式)

  • 使用 Buffer.isBuffer()方法来判断变量是否是 Buffer 类型。

process

用于与操作系统通信。并且通过退出码与信号量与其它进程进行进程间的通信。

  • 使用 arch, platform 来获取平台信息。

  • 使用 memoryUsage() 来查看内存使用的情况。

    const mu = process.memoryUsage()
    
    console.log(mu.rss)           // 常驻内存大小
    console.log(mu.heapUsed)      // 动态分配的可用内存
    console.log(mu.heapTotal)     // 已经使用的堆大小
    
    
  • 使用 argv 来查看命令行参数信息。

  • 使用 exit()方法来退出程序。

  • stdin, stdout, stderr标准输入流,标准输出流,标准错误流。

  • 使用 nextTick()来把函数放入一下个循环队列队头。

方法

setInterval

setInterval(cb, ms) 全局函数在指定的毫秒(ms)数后执行指定函数(cb)。

setTimeout

setTimeout(cb, ms) 全局函数在指定的毫秒(ms)数后执行指定函数(cb)。:setTimeout() 只执行一次指定函数。

setImmediate

setImmediate()是将事件插入到事件队列尾部,主线程和事件队列的函数执行完成之后立即执行setImmediate指定的回调函数,和setTimeout(fn,0)的效果差不多,但是当他们同时在同一个事件循环中时,执行顺序是不定的。

clearInterval, clearTimeout, clearImmediate

清除句柄,取消执行计划。

变量

Nodejs 的全局变量只有两个 __filename, __dirname 用于辅助用户开发。

  1. __filename

    __filename 表示当前正在执行的脚本的文件名。它将输出文件所在位置的绝对路径,且和命令行参数所指定的文件名不一定相同。 如果在模块中,返回的值是模块文件的路径。

      console.log(__filename)
    
  2. __dirname

    __dirname 表示当前执行脚本所在的目录,它将输出文件所在位置的绝对路径。

    	console.log(__dirname)
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章