可以这么理解吗

可以这么理解吗

就是将一个嵌套的函数,赋值给一个变量,通过函数外部的变量来调用这个嵌套函数,从而得到嵌套函数的返回值

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,这样说不太完美,可以这样理解,闭包其实是有权访问另一个函数作用域中的变量的函数,创建

闭包的常见方式为一个函数内部创建另一个函数,并return该函数;祝学习愉快~

张小阳_ 提问者 2022-06-21 23:45:39
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        function outer() {
            var a = 'hello';
            function inner() {
                document.write(a);
            }
            return inner;
        }
        var ret = outer();
        ret();
    </script>
</body>

</html>

老师这是不是就是一个闭包,用全局变量来接收嵌套函数内部函数的返回值

  • 同学你好,这个是闭包,这样说不太好,这个变量ret即是一个函数,当被调用的时候才会有返回值,

    此处理解为调用外部函数outer能得到内部函数inner,用变量ret来接收,执行ret函数就相当于在outer函数的外部执行了内部innert函数,祝学习愉快~

    2022-06-22 09:51:16
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师