有些不明白的,在代码里注释了?麻烦老师看一下

来源:2-8 选择练习

慕哥5103152

2020-09-07 15:42:05

<!DOCTYPE html>

<html lang="en">


<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

</head>


<body>

    <script>

        function greeting() { //这个是声明?

            var str = "hello";


            function addWorld() {

                str = str + ",world";

                return sayHi;

            }


            function sayHi() {

                alert(str);

            }

            return addWorld

                // return sayHi, addWorld; //不能这样吗?为什么?

        }

        var g = greeting() //这个是声明?

            // g() //这个是声明?

            //addWorld() //这个是声明?

            //  g() //这个是声明?

        var h = g()

        var j = h()

        //有没有可能跳过 addWorld() 直接执行sayHi()

        //里边哪个是闭包函数啊?

    </script>

</body>


</html>


写回答

1回答

好帮手慕慕子

2020-09-07

同学你好,针对你的问题,在代码注释中给出了解答,可以查看下代码注释理解

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 函数声明
        function greeting() { //这个是声明?
            var str = "hello";
            function addWorld() {
                str = str + ",world";
                return sayHi;
            }
            function sayHi() {
                alert(str);
            }
            
            return addWorld
            // 不可以这样,语法规定return后面只能返回一个
            // return sayHi, addWorld; //不能这样吗?为什么?
        }
        var g = greeting() //这个是声明?// 这句代码调用greeting()函数,将返回值赋值给变量g
            // g() //这个是声明?这是调用函数g
            //addWorld() //这个是声明? 这是调用函数addWorld
            //  g() //这个是声明? 这是调用函数g
        var h = g()
        var j = h()
        // 不可能,因为在addWord函数内部返回的sayHi方法,所以需要先调用addWorld方法,才能调用sayHi方法
        //有没有可能跳过 addWorld() 直接执行sayHi()
        // addWorld 和 sayHi方法都属于闭包函数
        //里边哪个是闭包函数啊?
    </script>
</body>
</html>

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 14456 问题

查看课程