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

Javascript 访问与实例变量同名的全局变量,javascript,scope,Javascript,Scope,如果存在与局部变量同名的全局变量,如何访问全局变量 我没有使用es6 我在jsdb中运行它,而不是在浏览器或节点中运行它,因此我无法访问对象“窗口”或“全局”假设您可以更改调用example()函数的代码,您应该能够使用this传递当前范围并访问它。比如说 “严格使用” var-myVar=5; var示例=函数(){ var-myVar=10; console.info('Local:',myVar) console.info('Outer:',this.myVar) }; 调用({myVa

如果存在与局部变量同名的全局变量,如何访问全局变量

我没有使用es6


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

假设您可以更改调用
example()
函数的代码,您应该能够使用
this
传递当前范围并访问它。比如说

“严格使用”
var-myVar=5;
var示例=函数(){
var-myVar=10;
console.info('Local:',myVar)
console.info('Outer:',this.myVar)
};

调用({myVar})
如果没有全局对象,我认为这是不可能的。无论如何,最好使用不同的变量名。如何调用
example()
?你能修改代码吗?谢谢。。。我想我不明白为什么“this”在示例函数中访问全局范围而不是局部范围。你能给我解释一下吗?没有<代码>此在函数中访问函数的上下文。
Function.prototype.call
的便利之处在于,您可以提供此上下文。例如,如果您使用
.call({a:1})
,那么
this.a
将是
1
var myVar = 5;

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

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