我一直在努力使一些代码正常工作,我认为这是由于我的可变范围。我没有在这里发布所有代码,而是做了一个简化的版本,问“为什么不起作用”:

$(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,我什至看不到全局变量:

javascript - JS全局变量和局部变量-LMLPHP

在文档开始处声明的变量不是全局变量吗????

谢谢!

最佳答案

那不是全局变量。在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/

10-10 09:38
查看更多