原型模式

原型模式:

  • 基于原型继承的模式,创建对象作为其他对象的原型,也就是创建的一个对象作为另一个对象的prototype属性值。

注意问题:

  • 注意浅拷贝深拷贝,避免出现引用问题。

代码例子:

  • 方式一:使用 Object.create 创建一个对象, 创建的对象需指定原型(第一必须参数prototype)和其他可选属性。具体写法为 Object.create( prototype, optionalDescriptorObjects ) :

    原型模式_第1张图片

  • 第二个参数可以初始化额外的其它属性:

    原型模式_第2张图片

  • 方式二: 不使用方式一的情况下,可以按照如下示例模拟该模式:

    原型模式_第3张图片

    这里的vehicle 模仿了一个构造函数,因为原型模式不包含任何初始化的概念,而不仅是将对象链接至原型

  • 从vehicle函数中可以引出下面这个方法:

    原型模式_第4张图片

一句话总结:

  • 一个对象成了另一个对象的原型。





你可能感兴趣的:(JavaScript,设计模式)