Javascript 我想让这个脚本执行fun1和嵌套的fun2函数

Javascript 我想让这个脚本执行fun1和嵌套的fun2函数,javascript,html,Javascript,Html,我希望脚本执行函数fun1和嵌套函数fun2,以显示变量x的值以及x和y的总和 function fun1 (){ var x = 10; document.write(x+"<br/>"); function fun2 (){ var y = 20; document.write(x+y); } } fun1(); 函数fun1(){ var

我希望脚本执行函数fun1和嵌套函数fun2,以显示变量x的值以及x和y的总和

function  fun1 (){
    var x = 10;
    document.write(x+"<br/>");
                
    function fun2 (){
        var y = 20;
        document.write(x+y);
    }
}
        
fun1();
函数fun1(){
var x=10;
文件。写(x+“
”); 函数fun2(){ 变量y=20; 文件写入(x+y); } } fun1();
我认为您需要调用函数2(),而不是在内部声明:

<!DOCTYPE html>
<html>
    <head>
    <title>Closure</title>
    </head>
<body>
    <script>

        function  fun1 (){
            var x = 10;
            document.write(x+"<br/>");

               fun2(x);
        }
              function fun2 (x){
                    var y = 20;
                    document.write(x+y);
                }
        fun1();
    </script>
</body>
</html>

关闭
函数fun1(){
var x=10;
文件。写(x+“
”); fun2(x); } 函数fun2(x){ 变量y=20; 文件写入(x+y); } fun1();
我认为您需要调用函数2(),而不是在内部声明:

<!DOCTYPE html>
<html>
    <head>
    <title>Closure</title>
    </head>
<body>
    <script>

        function  fun1 (){
            var x = 10;
            document.write(x+"<br/>");

               fun2(x);
        }
              function fun2 (x){
                    var y = 20;
                    document.write(x+y);
                }
        fun1();
    </script>
</body>
</html>

关闭
函数fun1(){
var x=10;
文件。写(x+“
”); fun2(x); } 函数fun2(x){ 变量y=20; 文件写入(x+y); } fun1();
在您的示例中,您只定义了第二个函数,要使用闭包执行它,您应该返回它:

 function  fun1 (){
            var x = 10;
            document.write(x+"<br/>");

              return function fun2 (){
                    var y = 20;
                    document.write(x+y);
                }
        }

在您的示例中,您只定义了第二个函数,要使用闭包执行它,您应该返回它:

 function  fun1 (){
            var x = 10;
            document.write(x+"<br/>");

              return function fun2 (){
                    var y = 20;
                    document.write(x+y);
                }
        }

闭包是关于函数和上下文的组合。如果
function2
是在
function1
之外声明的-它无权访问变量
x
闭包是关于组合函数和上下文的。如果
function2
是在
function1
之外声明的,则它无权访问变量
x