我一直在努力使一些代码正常工作,我认为这是由于我的可变范围。我没有在这里发布所有代码,而是做了一个简化的版本,问“为什么不起作用”:
$(document).ready(function() {
console.log("INITIALIZE");
var aGlobalVariable = 25;
function testFunction(){
var aLocalVariable = 5;
var sumVariables = aGlobalVariable + aLocalVariable;
console.log(sumVariables);
}
});
我希望testFunction能够看到GlobalVariable,将25加上5,然后输出30。它不会这样做。如果尝试对其进行console.log,我什至看不到全局变量:
在文档开始处声明的变量不是全局变量吗????
谢谢!
最佳答案
那不是全局变量。在ready
函数之外定义它。
var aGlobalVariable = 25;
$(document).ready(function() {
console.log("INITIALIZE");
function testFunction(){
var aLocalVariable = 5;
var sumVariables = aGlobalVariable + aLocalVariable;
console.log(sumVariables);
}
});
现在您应该可以看到它的工作了。
关于javascript - JS全局变量和局部变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31896817/