• 闭包 、原型链理解


    闭包:

    简单的理解就是:闭包就是能够读取其他函数内部变量的函数,它两个最大的用处:

    ①可以读取函数内部的变量,

    ②让变量的值始终保持在内存中。闭包与它的词法环境绑在一起,因此闭包让我们能够从一个函数内部访问其外部函数的作用域 。

    闭包特点:函数A嵌套函数B , 函数B能访问函数A的变量 , 最后返回函数B;   (函数B就是闭包)

    闭包的优缺点:

    优点:有利于封装,可以访问局部变量

    缺点:一直留在内存中,浪费内存,有可能发生内存泄漏

     
     
     

    原型链:

    当调用一个对象的属性时 , 如果自身对象未找到 , 会去对象的__proto__属性(隐式原型对象)里去找 ,  (这里的隐式原型对象指向的就是它构造函数的prototype(显示原型对象))

    然后原型本身也是一个对象 , 拥有__proto__ 属性 , 所以会继续向上查找 ,一直找到Object.prototype.proto===null   这样的链条称之为原型链

    原型链的个人理解:
     
     

    thing是Thing2的实例.
    thing的__proto()__指向Thing2的prototype
    Thing2的原型对象 = Thing1的实例对象,
    new Thing1()的__proto__指向Thing1的prototype.

    在Thing1的prototype里找到了foo属性

     
     
     
     
     
     

    原文转载至:https://www.cnblogs.com/JankinLiu/p/10347293.html

  • 相关阅读:
    对fork函数的疑惑,求解!
    C语言获取集合幂集
    C#编写socket客户端,服务器断开连接时客户端报异常
    转载:Linux下的 .o、.a、.so文件
    浅析23种软件设计模式
    Linux之设备文件
    printf输出格式
    光放大器的工作波长
    QSYS组件信号命名方式
    摩尔定律
  • 原文地址:https://www.cnblogs.com/wsjaizlp/p/12957678.html
Copyright © 2020-2023  润新知