为了账号安全,请及时绑定邮箱和手机立即绑定

闭包如何定义以及垃圾回收的小问题

闭包如何定义以及垃圾回收的小问题

慕妹3242003 2018-12-20 12:15:05
闭包我看描述是说 由函数和其外部词法环境组成,只要函数能够访问外部词法环境中的变量 即为闭包,广义上说任何函数都可以是闭包.function cd(){    var a = 0;    function add(){        a++;        console.log(a);    }     add();}  cd(); cd();问题 1 这个代码中 add() 算不算是不是闭包?function cd(){    var a = 0;    function add(){    a++;    console.log(a);    }    return add(); }var test = cd(); test(); test();问题2 这段代码 哪个是闭包? test是闭包?还是add是闭包?问题3 垃圾回收机制变量是怎么回收的? 是在当前的词法环境中 这个变量就没了吗,不存在词法环境的记录项record里面?闭包使变量不被回收,如何理解?是不是由于闭包存在,导致这个变量在词法环境中一直存在,可以给闭包拿来使用?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 441 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号