为了理解javascript的基础知识,我遇到了以下代码,并且名为“ foo”的变量的期望值将为7和5,但是结果为7和7。不知道为什么...。
var foo = 5;
(function Test() {
foo = 7;
console.log("foo=" + foo);
})();
console.log("foo=" + foo);
foo=7
foo=7
因为当您执行foo = 7;
此操作时,它会创建一个全局变量并将其设置为7
,即使函数完成后,它仍然是7
。您可能希望它是一个局部变量:
(function Test() {
var foo = 7;
console.log("foo=" + foo);
})();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句