关于手动回收无用信息和什么叫js程序运行完毕的问题

来源:5-4 管理内存

WittChen

2020-05-07 15:26:21

老是您好,在学垃圾回收机制的时候,经常听到老师讲程序运行完毕后会销毁掉,那么就在想程序运行完毕后是什么意思呢,是退出浏览器还是什么,因为js一般都是用户在与页面进行交互的时候用,只要页面存在,那么程序怎么会被认为运行完毕吗,比如页面上有个按钮,我点击需要用到一个全局变量,那么这个全局变量怎么可能会被销毁呢,肯定一直存在,既然这样,那什么是程序运行完毕呢,提一点小小的建议,因为我不知道回答的是讲课老师本人还是助手,最近碰到回答问题的老师,跟学员互动很少,一上来先罗列知识点,学员是对是错总得有个评价不能没头没尾不是,需要互动,针对学员给出的问题鸡场景进行讲解,不要我将我的你讲你的

写回答

1回答

好帮手慕久久

2020-05-07

同学你好,问题解答如下:

1. 程序运行完毕可以理解成局部的程序执行完、或者整个页面运行完毕,如下:

假如页面上有一个函数fn,内部有多个变量,当fn被调用并执行完内部代码后,就可以说这个函数的程序执行完毕了,它里面的局部变量就可以被销毁了。当我们在别的地方再次使用fn的时候,fn内部的变量会再次被声明,执行完毕再被销毁。

再比方说,程序从上往下运行一遍,也可以说是程序执行完毕:

http://img.mukewang.com/climg/5eb3e0b8098f67b404260457.jpg

退出浏览器相当于结束所有程序,也是程序运行完毕。

2. 如果按钮的点击事件处理函数中,会使用某个全局变量,那这个全局变量就不会被销毁,直到该页面被关闭或者这个事件被别的程序取消、删除了,那么对这个全局变量来讲,这种情况可以称为程序运行完毕。

垃圾回收机制这块,由于js会自动进行垃圾收集,无需我们手动操作,所以同学了解即可。

3. 感谢同学提的建议,咱们答疑的老师也是这样被要求的,只是有时候,一句话中可能多处问题还有不严谨的地方,不好组织语言去说清楚,所以可能就没有互动;不过老师会努力改正这个不足的。

如果我的回答帮到了你,欢迎采纳,祝学习愉快!



1
hittChen
h 谢谢老师!
h020-05-07
共1条回复

0 学习 · 14456 问题

查看课程