老师 请教一下

老师 请教一下

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <script type="text/javascript">
        function a(){
            var i=0;
            var j=999;
            add=function(){
                console.log(i);
            }
        }
        var os=a();        
        add();

    </script>
    
</body>
</html>

add()执行完成后,变量j还在内存中吗?

正在回答

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

1回答

add方法调用与j变量是没有关系的,因为add方法中输出的变量是i。当a方法被调用完毕之后,j变量就被回收了。

祝学习愉快!

  • 慕运维2135045 提问者 #1
    那add()执行完之后 i一直不会被回收吗?
    2018-11-19 16:18:23
  • 好帮手慕星星 回复 提问者 慕运维2135045 #2
    调用a方法之后,add方法是不会被回收的,而add方法中用到了i,所以i变量不会被回收。
    2018-11-19 17:59:42
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
组件化思想开发电商网页 18版
  • 参与学习           人
  • 提交作业       467    份
  • 解答问题       4826    个

本路径带你通过系统学习HTML5、JavaScript、jQuery的进阶知识,不仅如此,还会学习如何利用组件化的思想来开发网页,知识点+案例,使得所学可以更好的得到实践。

了解课程
请稍等 ...
微信客服

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

帮助反馈 APP下载

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

公众号

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

在线咨询

领取优惠

免费试听

领取大纲

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