JavaScript / node.js——全局作用域区别

JavaScript与node.js中都用global代表全局对象,

但是在JavaScript中,global不提供对外的访问接口,使用window指向global,也就是说,在JavaScript中,windows是global的表现,如果在JavaScript中直接访问global,会返回undefined。

在node中,global表示全局,没有window对象,但是如果使用global来访问一个全局对象变量(如:var a=100;console.log(global.a))同样会返回undefined,因为在node中涉及到模块的定义(在node中一个文件就是一个模块,每个模块都有自己的作用域,使用var声明的变量的作用域只是模块的作用域,如果要声明全局作用域,可以使用global.a来声明一个全局作用域)。node中的__filename属性和__dirname属性(返回解析过的绝对路径)等属性看起来像全局变量,但不是全局变量,返回对应模块文件的绝对路径

猜你喜欢

转载自blog.csdn.net/yuhui01/article/details/80948689