访问与实例变量同名的全局变量

时间:2019-01-14 02:06:00

标签: javascript scope

var myVar = 5;

var example = function() {
   var myVar = 10;

   // How can I access the global variable 10?
};

如果有一个与局部变量同名的全局变量,如何访问全局变量?

我没有使用es6。

我在jsdb中运行它,而不是在浏览器或节点中运行,所以我无法访问“窗口”或“全局”对象

1 个答案:

答案 0 :(得分:1)

假设您可以更改调用example()函数的代码,则应该能够使用Function.prototype.call()传递当前范围,并使用this对其进行访问。例如

'use strict'

var myVar = 5;

var example = function() {
   var myVar = 10;
   
   console.info('Local:', myVar)
   console.info('Outer:', this.myVar)
};

example.call({ myVar })