本章进阶测试第7题看不懂

正在回答 回答被采纳积分+1

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

2回答
車前 2017-06-30 16:12:21
count( )( ),和fn( )都是调用的function()函数,为什么执行后的结果不一样
小于飞飞 2017-06-16 16:13:30

你好,执行结果与解析,如下:

  function count(){
        var num=1;
        return function(){
            return num++;
        };
       }
       // 定义的count函数,在调用count()时,返回 function这个函数,如在写count()(),就相当于调用里面的 funciton() 函数,返回 num++,num初始值为1 执行后,结果为 1.
       document.write(count()()+'<br/>'); // 结果是1
       document.write(count()()+'<br/>'); // 重新调用结果是1
       document.write(count()()+'<br/>'); // 重新调用结果是1
       var fn=count();
       // fn 就相当于调用count()时,返回 function 这个函数,fn() 相当于调用funciton()函数
       document.write(fn()+'<br/>');  // 结果是1
       document.write(fn()+'<br/>');  // 继续调用 fucntion ,num也继续累加,结果2
       document.write(fn()+'<br/>');  // 继续调用 fucntion ,num也继续累加,结果3

希望对你有帮助,祝学习愉快,欢迎采纳。

  • 車前 #1
    // 定义的count函数,在调用count()时,返回 function这个函数,如在写count()(),就相当于调用里面的 funciton() 函数,返回 num++,num初始值为1 ,执行后,结果不应该是2了么,为啥自加后还是1?
    2017-06-30 16:13:33
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
HTML5与CSS3实现动态网页 2018
  • 参与学习       1887    人
  • 提交作业       4643    份
  • 解答问题       5760    个

有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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