node.js中的全局对象是global,所有全局变量(除了 global 本身以外)都是global对象的属性。在Node.js我们可以直接访问到global的属性,而不需要在应用中包含它。
【视频教程推荐:node js教程 】
全局对象与全局变量
global最根本的作用是作为全局变量的宿主。按照 ECMAScript 的定义,满足以下条件的变量是全局变量:
在最外层定义的变量;
全局对象的属性;
隐式定义的变量(未定义直接赋值的变量)。
当你定义一个全局变量时,这个变量同时也会成为全局对象的属性,反之亦然。需要注 意的是,在 Node.js 中你不可能在最外层定义变量,因为所有用户代码都是属于当前模块的, 而模块本身不是最外层上下文。
注意: 最好不要使用 var 定义变量以避免引入全局变量,因为全局变量会污染命名空间,提高代码的耦合风险。
__filename:node固定的全局变量,表示当前文件绝对路径,(包含自身)
__dirname:node固定的全局变量,表示当前文件的路径(不包含自身)
全局函数:定时器setInterVal,setTimeout
process 是一个全局变量,即 global 对象的属性。
它用于描述当前Node.js 进程状态的对象,提供了一个与操作系统的简单接口。通常在你写本地命令行程序的时候,少不了要 和它打交道。下面将会介绍 process 对象的一些最常用的成员方法。
console.log(__filename); console.log(__dirname); var num = 0;//全局变量 var timer = setInterval(function () { console.log('haha'); num++; if(num==5){ clearInterval(timer) } },1000); console.log(process.version)//node 版本信息
输出如下:
C:\Users\fangzhou.zhu\Desktop\其他\node\globalObj.js
C:\Users\fangzhou.zhu\Desktop\其他\node
10
v8.4.0
haha
haha
haha
haha
haha
function AA() { var a = 10;//局部变量 b = 10;//全局变量} AA(); console.log(b);//10 console.log(a);//报错 a is not defined
想要了解更多前端知识,可访问 前端开发学习!!
以上就是node有哪些全局对象?的详细内容,更多请关注易知道|edz.cc其它相关文章!