zoukankan      html  css  js  c++  java
  • javaScript闭包和垃圾收集器

    如果人口一直增长,地球总有一天会爆炸的。

    浏览器同样如此,内存有限的情况下,如果里面的东西越来越多,总有一天会不堪重负。

    垃圾收集器就是用来清理不再用的内存空间的,执行环境会负责管理代码执行过程中使用的内存。而垃圾收集的策略有二,现代浏览器最常用的垃圾收集方式是标记清除

      1.给内存中的每一个变量都加上标记;

      2.去掉环境中的变量以及被引用的变量;

      3.那些被标记的变量就要被垃圾处理器清除出去。

    在IE7版本之前,浏览器垃圾收集器是按照内存分配量运行的,当内存占用到了一个临界值,垃圾收集器就会运行。在有很多的变量的情况下,垃圾收集器频繁运行就会导致浏览器的崩溃。

    闭包:

    垃圾收集器是针对局部变量的;

    为了让变量一直在内存中,我们首先会想到定义一个全局变量,但是全局变量也许会在我们后面的使用中不小心改变了它的值,我们可以用局部变量来保护,但问题又来了,局部变量怎样访问呢,于是就出现了闭包。闭包的例子有很多,比如一个函数里面嵌套一个函数,这样做的目的就是让函数外部可以访问里面的变量。

    JS不像java或其他面向对象语言有private属性,用闭包事实上充当了这样的角色。

  • 相关阅读:
    排序预处理的思想
    枚举
    math细节
    physics 衍射和ganshe
    hearing speaking words
    appium的环境安装
    基于ASP.NET MVC 4.0的音乐商店全套项目教程
    WPF/WinForm 关于窗体大小变化的消息机制处理
    用WPF搭建自己的万能播放器(C#)前篇
    VS2010网站发布到服务器上
  • 原文地址:https://www.cnblogs.com/shuiqing/p/7131646.html
Copyright © 2011-2022 走看看