Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 试图返回函数外部的变量_Javascript - Fatal编程技术网

Javascript 试图返回函数外部的变量

Javascript 试图返回函数外部的变量,javascript,Javascript,我很确定我做错了,但我想做的是onload,我想让函数test运行,然后是函数1,然后是函数2,然后我想让函数2从函数1返回var abc window.onload=function(){ test(); }; function test(){ var abc; function one(){ abc = 1; two(); } function two(){ console.log(abc); } } 您只声明了一个函数one,您需要

我很确定我做错了,但我想做的是onload,我想让函数test运行,然后是函数1,然后是函数2,然后我想让函数2从函数1返回var abc

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

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

}

您只声明了一个函数
one
,您需要执行它。在
测试的末尾
函数添加
one()见下文:

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

function test(){
    var abc;
    function one(){
        abc = 1;
        two();
    }
    function two(){
        console.log(abc);
    }
    one();//execute function 1
}
我想先运行函数测试,然后运行函数一

那是你错过的一步。您的
test
函数当前仅声明
函数一
,但从未调用它

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

在函数之间共享值可能有比闭包更好的方法(取决于用例),但这正是您想要的。

阅读您的问题很痛苦。试着把它分成几个句子。另外,您如何假设函数2可以从函数1返回值?最后,我在整个列表中没有看到任何
return
关键字。