我写这个简单的程序来更新JS提升值。但根据我的理解全球x需要更新,但它不更新。全局变量在函数不更新
x = 5;
var w = function(){
x = 7
var x;
console.log(x);
x = 10;
console.log(x);
};
w();
console.log(x);
输出:
任何人都可以更详细解释,它为什么没有更新全局x?
Javascript在值的引用上工作,所以当我写x = 7时,它应该更新全局x。但它没有! 所以我只想为什么x = 7不起作用?
谢谢!
您在函数内部重新声明的'x''映射全局函数。 –
嘿,伙计们,我刚刚更新了我的问题。我在js方面有很好的经验。所以我有关于scopping的想法,我该如何解决这个问题。但我只想知道为什么x = 7不更新? –
我在x = 7之后定义了局部x,所以x = 7应该更新全局,然后编译器移动到下一行。但是x = 7没有更新全局,这是我主要关心的问题? –