Javascript 访问与实例变量同名的全局变量
如果存在与局部变量同名的全局变量,如何访问全局变量 我没有使用es6Javascript 访问与实例变量同名的全局变量,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
我在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?
};