老师问下作用域的问题

老师问下作用域的问题

count()()的作用域开辟的过程。count()调用结束后它开辟的作用域不会消失吗?为什么count()()能调用到count函数里的局部变量啊?

<!DOCTYPE html> 

<html> 

<head> 

    <meta charset="UTF-8" /> 

    <title></title> 

</head> 

<body> 

   <script type="text/javascript"> 

   function count(){

    var num = 1;

    return function(){

    return num++;

    };

   }

    </script> 

</body> 

</html>


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

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

2回答
好帮手慕码 2020-04-17 10:06:12

同学你好,你的理解是正确的。继续加油,祝学习愉快~

好帮手慕星星 2020-04-16 17:01:48

同学你好,这段代码count()调用结束后它开辟的作用域不会消失,因为返回的函数还需要被使用,而函数中用了num局部变量,所以num也不会被销毁:

http://img1.sycdn.imooc.com//climg/5e981eee09a6f51505660115.jpg

自己再测试理解下,祝学习愉快!

  • 提问者 慕斯卡3605978 #1
    是不是返回值是函数的函数在调用结束后,作用域都不会消失啊。无论后面有没有调用它返回的函数。 var fn=count();//count开辟的作用域要等到程序结束后消失
    2020-04-16 19:25:10
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

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

在线咨询

领取优惠

免费试听

领取大纲

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