XieYang-blog

JavaScript设计模式

  1. 原型模式

    从设计模式的角度讲,原型模式是用于创建对象的一种模式,如果我们想要创建一个对象, 一种方法是先指定它的类型,然后通过类来创建这个对象。原型模式选择了另外一种方式,我们 不再关心对象的具体类型,而是找到一个对象,然后通过克隆来创建一个一模一样的对象。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var Plane = function() {
this.blood = 100
this.attackLevel = 1
this.defenseLevel = 1
}
var plane = new Plane()
plane.blood = 500
plane.attackLevel = 10
plane.defenseLevel = 7

var clonePlane = Object.create(plane)
console.log(clonePlane) // 输出:Object {blood: 500, attackLevel: 10, defenseLevel: 7}
// 在不支持 Object.create 方法的浏览器中,则可以使用以下代码:
Object.create = Object.create || function(obj) {
var F = function() {}
F.prototype = obj
return new F()
}

当然在 JavaScript 这种类型模糊的语言中,创建对象非常容易,也不存在类型耦合的问题。 从设计模式的角度来讲,原型模式的意义并不算大 。但 JavaScript 本身是一门基于原型的面向对 象语言,它的对象系统就是使用原型模式来搭建的,在这里称之为原型编程范型也许更合适。

🐶 您的支持将鼓励我继续创作 🐶