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日

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题