【问题标题】:Access a variable from the Global Variable从全局变量访问变量
【发布时间】:2017-01-17 00:59:24
【问题描述】:

我如何从不同于已修改函数的函数访问全局变量?

global_variable;
function getInfo() {
  global_variable = 3; 
}
length = global_variable.length;
function getDuration() {
  console.log(global_variable);
}

问题出在这里:https://github.com/MANTENN/Days4God/blob/master/playergenerator.html#L154

【问题讨论】:

    标签: javascript variables scope


    【解决方案1】:

    首先以正确的方式创建全局变量:

    var global_variable
    

    比函数:

    function getInfo() 
    {
      global_variable = 3; 
    }
    
    function getDuration() 
    {
      console.log(global_variable);
    }
    

    然后运行函数:

    getDuration(); // Here you get variable is undefined, instead of not defined error
    getInfo();
    getDuration(); // Here you will get 3;
    

    jsfiddle

    【讨论】:

    • github.com/MANTENN/Days4God/blob/master/playergenerator.html 怎么在这里不起作用?第 154 行?
    • var runs = links.length-1; function appendAudio(n) { /* var runs; */ 您正在函数内部重新分配runs。
    • 我删除了它,现在它正在无限运行。因为它无法获取链接的长度
    • 为什么这不起作用?变种链接;函数 getInfo() { 链接 = [0,1,2,3,4]; } var 运行 = links.length;函数 getDuration() { console.log(runs) }
    • 这会起作用,但是当我获取链接的长度时它不会起作用
    【解决方案2】:
        // Define global_variable. 
        var global_variable;
    
        // optionally you can initialize the global variable like below
        // var global_variable = 0;
        // Or global_variable = 0;
    
        function getInfo() 
        {
          global_variable = 3; 
        }
        function getDuration() 
        {
          getInfo();
          alert(global_variable);
        }
    
        // test invoke
        getDuration();
    

    【讨论】:

      【解决方案3】:

      您首先必须定义您的变量,否则它将打印“未定义”。

      【讨论】:

      • 是的,我知道,但我不会马上调用 getDuration。问题是一旦我调用 getInfo 然后 getDuration() 它仍然是未定义的。
      【解决方案4】:

      基于任何代码的执行方式。变量“长度”将为 0。

      有了它并基于我的递归函数,它正在循环。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-10
        • 2013-04-17
        • 2011-10-29
        • 2014-02-15
        相关资源
        最近更新 更多