Taylor_224 2021-09-11 17:45 采纳率: 66.7%
浏览 48
已结题

明明是同一个函数,为什么调用的结果却不一样?

   <script>
        function f1() {
            var n = 999;
            function f2() {
                alert(n);
            }
            return f2;
        }
        var result =f1();
        console.log(result);
        console.log(f1())
        f1();
        result();
    </script>

img


结果是只有调用result才会弹出999,明明函数都是一样的,搞不懂为什么结果不一样,望各位指点!

  • 写回答

2条回答 默认 最新

  • tonyzhangcn 2021-09-11 17:49
    关注

    result() 其实是等于f1()()也就是等于f2(),而f1()就是f2, f2是函数的定义,如果需要让他执行需要f2()才可以; 这就是为啥他俩不一样了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月19日
  • 已采纳回答 9月11日
  • 创建了问题 9月11日