JavaScript 中有一个特殊的对象,称为全局对象(Global Object),它及其所有属性都可以在程序的任何地方访问,即全局变量。
在浏览器端的 JavaScript 中,通常 window 是全局对象, 而 Node.js 中的全局对象是 global,
所有全局变量(除了 global 本身以外)都是 global 对象的属性。在 Node.js 我们可以直接访问到 global 的属性,而不需要在应用中包含它。
Javascript中的全局对象 window node.js中的全局对象 global global最根本的作用是作为全局变量的宿主,据ECMAScript的定义,满足以下条件的变量都是全局变量
-
在最外层定义的变量
-
全局对象的属性
-
隐式定义的变量 在Node.js中不可能在最外层定义变量,因为所有用户代码都是属于当前模块的,而模块本身不是最外层上下文。
-
全局空间可以访问console,process,buffer等模块,不需要require。
js: window
innerWidth innerHeight console
nodejs: global
console
Global对象属性与方法
global.process 对象 操作进程、访问进程的相关信息
global.console 对象 与浏览器调试工具console类似
global.Buffer 类 处理二进制数据
global.URL 类 用于网址处理与解析
setTimeout(fn,ms) 函数 延时定时器
clearTimeout(timeout) 函数 取消延迟定时器
setInterval(fn,ms) 函数 时间间隔定时器
clearInterval(timeout) 函数 取消延时间间隔定时器
setImmediate(callback[, ...args]) 函数 在事件循环的当前回合结束时要调用的函数。 clearImmediate(immediate) 函数 取消一个由 setImmediate() 创建的 Immediate对象