原型模式
概念:
原型模式 是指原型實例指向創建對象的種類,並通過拷貝這些原型創建新的對象,是一種用來創建對象的模式,也就是創建一個對象作為另一個對象的prototype屬性。
實現原型模式:
方法一:使用 Object.create(prototype, optionalDescriptorObjects)
var vehiclePrototype = { model:"保時捷", getModel: function () { console.log('車輛模具是:' + this.model); } }; var vehicle = Object.create(vehiclePrototype,{ "model":{ value:"法拉利" } }); vehicle.getModel();
方法二:使用 prototype
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('法拉利'); car.getModel();
總結:
原型模式,就是創建一個共享的原型,通過拷貝這個原型來創建新的類,用於創建重復的對象,帶來性能上的提升。