判断全局对象的方法(node中为例)

在 demo.js 文件中,有

var a=10;

要判断 a 是不是全局的变量,可以使用 node 中的全局对象 global。

任何全局变量都是全局对象的属性,所以如果 console.log(global.a);可以打印出10,证明 a 是全局变量,

而结果是 undefined 说明 a不是全局变量而是局部变量,

若直接定义 b=11,console.log(global.b) ,结果是 11,这时 b 就是全局变量

1 var a=10;
2 console.log(global.a);  //undefined
3 
4 b=11;
5 console.log(global.b);  //11

a 不是全局变量,因为 Node 中 a 是在一个函数中,可以利用 argument 这个函数独有的属性证明这一点

  console.log(arguments.callee + "");

  打印结果是: function (exports, require, module, __filename, __dirname) {  }

  

  arguments.callee :这个属性保存的是当前执行的函数对象

  说明 node 中的代码都包裹在一个函数中执行

 

posted @ 2020-03-05 21:33  shanlu  阅读(327)  评论(0编辑  收藏  举报