我正在 Google Chrome 上测试此功能:
function test(){
d = 2;
}
function test2(){
test();
document.write(d);
}
test2();
函数 test
中的变量 d 应该是本地的,因此我无法在函数 test2
中访问它,有人可以解释为什么会这样吗?
编辑:
这不是重复的,因为我在原始问题的正确答案中找不到任何地方,即使用不带 var 的变量使其成为全局变量,它被隐式提及为“隐式全局变量的恐怖”
最佳答案
您从未真正声明过该变量,因此它不是局部变量。相反,它是一个隐式的全局变量。
您应该始终使用'use strict';
来使其成为错误。
关于Javascript为什么可以访问函数的局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47996985/