作用域和闭包的通俗理解(5)

// 没有及时清理的计时器或回调函数
    var intervalId = setInterval(function () { //启动循环定时器后不清理
        console.log('----')
    }, 1000)

// clearInterval(intervalId);  //清理定时器

情况3举例:

<script type="text/javascript">functionfn1() {var arr =new Array[100000];//这个数组占用了很大的内存空间functionfn2() {console.log(arr.length)
    }return fn2
  }var f =fn1()
  f()

f =null//让内部函数成为垃圾对象-->回收闭包</script>

内存溢出(一种程序运行出现的错误)

内存溢出:当程序运行需要的内存超过了剩余的内存时,就出抛出内存溢出的错误。

//内存溢出
  var obj = {}
  for (var i = 0; i < 10000; i++) {
    obj[i] = new Array(10000000);  //把所有的数组内容都放到obj里保存,导致obj占用了很大的内存空间
    console.log('-----')
  }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/9fd4a7fc9889b57ba35c4e35b4b01968.html