zoukankan      html  css  js  c++  java
  • 原型式继承

    原型式继承是道格拉斯·克罗克福德在 2006年写了一篇文章,题为 Prototypal Inheritance in JavaScript (JavaScript 中的原型式继承)中指出的。他给出了一下函数

    function object(o){
       function f(){}
       f.prototype = o;
       return new f();
    }

    然后再创建一个临时性的构造函数,再讲构造函数传入object()中

    这种原型式的继承,必须要有一个对象(person)作为另一个对象的基础,然后再根据需求进行修改,于是把person传入到了object(),然后返回一个新对象,这个新对象将person作为原型。yetAnotherPerson 和anotherPerson 都共享了引用性属性friends

    ECMAScript 5通过新增 Object.create()方法规范化了原型式继承。这个方法接收两个参数:一 个用作新对象原型的对象和(可选的)一个为新对象定义额外属性的对象。在传入一个参数的情况下, Object.create()与 object()方法的行为相同。 

    这是一个参数的

    这是2个参数的

     

    支持性

    IE9+、Firefox 4+、Safari 5+、Opera 12+和 Chrome

    在没有必要兴师动众地创建构造函数,而只想让一个对象与另一个对象保持类似的情况下,原型式 继承是完全可以胜任的。不过别忘了,包含引用类型值的属性始终都会共享相应的值,就像使用原型模 式一样。 

    参考自JavaScript 高级程序设计

  • 相关阅读:
    基于RTP的h.264视频传输系统设计(一)
    NAS配置Time Machine,在D-Link DNS-320上的配置笔记
    重构版机房收费系统之分层、接口、数据库连接、反射+工厂(vb.net)
    复制表机构
    JVM内存
    System.gc()
    重写(Override) 重载(Overload)
    final 关键字
    JAVA stack
    java 获取环境变量
  • 原文地址:https://www.cnblogs.com/lijinwen/p/5739010.html
Copyright © 2011-2022 走看看