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

js 作用域 和 内存的问题

js 作用域 和 内存的问题

烙印99 2018-07-12 11:18:55
先贴一段伪代码吧//开启计时器请求     this.setTimeout = function(){var self = this;        //修改自动状态为true         this.isAuto = true;                 //开启计时器         this.timer = setTimeout(        function(){              /*计时运行的代码*/              self.setTimeout;  //运行本身        },          /*计时器间隔*/         this.ajaxSpeel);              }这样的设计  让这个函数内部创建一个变量然后不断的 运行自己  这样的话 就会在作用域内创建作用域  会为内存带来增加么  如果不这样做的话   如何实现计时器呢  (不使用for  和  setInterval)
查看完整描述

1 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

好吧  我仔细回忆了一下我脑袋里面的小学知识

1.作用域的存在只有在子作用域还在执行的时候才会保留  

2.这个setTimeout内部不存在子作用域 唯一的一个即将运行的计时器是setTimeout属于全局对象,他会在window作用域下面新开一个空间执行

3. 所以 总结一下   大概的运行过程是  this.setTimeout |  window --> window.setTimeout --> window | 

4. 果然 目前的出的结论是 只要不是直接创建子作用域的前提下  计时器setInterval 或者 ajax的毁掉内部作用域都不会残留自作用  也就不会对网页内存照成太大的伤害了!~~~


查看完整回答
反对 回复 2018-08-13
  • 1 回答
  • 0 关注
  • 544 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信