什么是原型形式
原型形式 (Prototype pattern):浅显点讲就是建立一个同享的原型,并经由过程拷贝这些原型建立新的对象。用于建立反复的对象,这类范例的设想形式属于建立型形式,它供应了一种建立对象的不错挑选。
完成原型形式
我们能够经由过程JavaScript特有的原型继续特征去完成原型形式,也就是建立一个对象作为另一个对象的prototype属性值,我们也能够经由过程Object.create(prototype, optionalDescriptorObjects)来完成原型继续。
// 由于不是组织函数,所以不必大写
var someCar = {
drive: function () { },
name: '马自达 3'
};
// 运用Object.create建立一个新车x
var anotherCar = Object.create(someCar);
anotherCar.name = '丰田佳美';
Object.create() 要领会运用指定的原型对象及其属性去建立一个新的对象。
var vehicle = {
getModel: function () {
console.log('车辆的模具是:' + this.model);
}
};
var car = Object.create(vehicle, {
'id': {
value: MY_GLOBAL.nextId(),
enumerable: true
},
'model': {
value: '福特',
enumerable: true
}
});
假如你愿望本身去完成原型形式,而不直接运用Object.create。你能够运用一下代码完成。
var vehiclePrototype = {
init: function (carModel) {
this.model = carModel;
},
getModel: function () {
console.log('车辆模具是:' + this.model);
}
};
function vehicle(model) {
function F() { };
F.prototype = vehiclePrototype;
var f = new F();
f.init(model);
return f;
}
var car = vehicle('福特Escort');
car.getModel();
总结:
原型形式,就是建立一个同享的原型,经由过程拷贝这个原型来建立新的类,用于建立反复的对象,带来性能上的提拔。
参考自汤姆大叔的博客
设想形式之原型形式