试图在函数外部返回一个变量

时间:2014-07-31 20:37:14

标签: javascript

我很确定我做错了但是我想要发生的是onload我希望功能测试运行然后功能一然后功能二,然后我希望功能二从函数一返回var abc。

window.onload=function(){
  test();
};

function test(){
    var abc;
  function one(){
    abc = 1;
    two();
  }
  function two(){
    console.log(abc);
  }

}

2 个答案:

答案 0 :(得分:1)

您只需要声明函数one,您需要执行它。在test函数末尾添加one();,请参见下文:

window.onload=function(){
    test();
};

function test(){
    var abc;
    function one(){
        abc = 1;
        two();
    }
    function two(){
        console.log(abc);
    }
    one();//execute function 1
}

答案 1 :(得分:1)

  

我希望功能测试运行然后运行一个

这是你错过的一步。您的test函数目前仅声明function one,但从不调用它。

function test() {
    var abc;
    function one() {
        abc = 1;
        two();
    }
    function two() {
        console.log(abc);
    }
    one(); // call it!
}
test(); // logs 1

可能有更好的方法在函数之间共享值而不是闭包(取决于用例),但这可以达到你想要的效果。