美文网首页
JavaScript语言精髓与编程实践笔记(5)

JavaScript语言精髓与编程实践笔记(5)

作者: a_pioneer | 来源:发表于2017-07-14 22:01 被阅读0次
    1. 对象直接量也会隐式的调用 Object 来构造实例。
    2. 默认的情况下,空的对象只有预设的属性与方法。
    3. 对象并没有原型,而是构造器有原型。对象只有“构造自某个原型”的问题,并不存在“持有某个原型”的问题。
    4. JS原型复制:使用写复制,并把复制的粒度从原型细化到成员。
    5. JS成员列表:
    • 保证在读取时首先被访问到。
    • 如果在对象中没有指定属性,则尝试遍历原型链。
    • 存取实例中的属性,效率比存取原型的高。
    1. 修改原型是 JS 中最常用的构建对象系统的方法。好处是可以在实例创建之后动态的影响这些实例。
    2. ‘name' in obj in 方法会检查原型链。
    3. 原型继承原型修改:前者关注继承对象的层次,后者关注具体对象实例的行为的修改。
    • 设计观念:将对象(类)的继承关系,与对象(类)的行为分离。这与 基于类继承的对象 存在本质的不同。
    • 原型修改是动态语言的特性。
    1. 原型继承的本质 从无到有
    • 设计观念:将对象的继承关系与对象的行为分离。理论上我们可以先构建一个没有任何成员的类关系的继承系统,然后通过不断的修改原型,从而获得一个完整的系统。
    1. 继承来的原型成员:
    • 子类从父类继承对象性质时,也会继承成员的可读写性与可见行
    • JS 不同的引擎对这句话有不同解释: 一种是继承成员的名字(即维护一个成员名列表,成员名具有特殊性质)。一种是继承成员的性质,成员可以被实例覆盖。

    相关文章

      网友评论

          本文标题:JavaScript语言精髓与编程实践笔记(5)

          本文链接:https://www.haomeiwen.com/subject/pkgohxtx.html