在浏览器中我们有window对象用于挂载全局的变量,在Node中我们有global对象可以进行挂载,很多共用的属性就可以挂载到global对象上了,本身它自己也拥有很多的属性。

在一个js文件中,如果不用var,let,const定义一个变量,那么等于直接定义了一个全局变量,可以在其他的js文件中直接引用。

在a.js中定义

a=10   //这种定义相当于global.a=10

在b.js中可以直接调用

con s ole.log(a)  //10  相当于console.log(global.a)

var a='hello' //在定一个同名变量a,

console.log(a)  //hello

console.log(global.a) //10

1、API结构图

global

2、一些例子

下面是部分API的例子,对部分API的一个简单代码实现

2.1 global

全局命名空间,通过 global 定义的变量,在任何地方都可以使用,类似于浏览器端定义在全局范围中的变量。

 

1

2

// foo.js

global.foo = 'hello';

 

1

2

3

4

// bar.js

require('./foo');

console.log(foo);

//hello

定义在 global 上面的变量,不需要在模块中通过 exports 输出,其他模块中也能使用。

2.2 __dirname

dirname 实际上不是一个全局变量,在命令行模式下直接调用会提示dirname 未定义,但是在模块中可以直接使用,返回当前脚本执行的目录。

 

1

console.log(__dirname);

2.3__filename

返回当前执行代码文件的名称(包含文件的绝对路径)。和dirname 一样,filename 也不是一个全局变量,但在模块中可以直接使用。

 

1

console.log(__filename);

__filename返回的是包含路径的文件名。

相关文章:

  • 2021-10-27
  • 2021-12-22
  • 2021-11-06
  • 2021-09-26
  • 2022-01-27
  • 2021-08-12
  • 2021-08-10
  • 2021-09-24
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-18
  • 2021-08-02
  • 2021-07-17
  • 2021-09-05
相关资源
相似解决方案