Dieser Artikel stellt Ihnen die vierte Reihe von JavaScript-Entwurfsmustern vor: Prototypenmodus. Interessierte Freunde können einen Blick darauf werfen
Der Code dieser Reihe wurde auf die GitHub-Adress-JavaScript-Entwurfsmuster-Demo hochgeladen
Prototypmuster (Prototypmuster): Laienhaft ausgedrückt bedeutet es, einen gemeinsamen Prototyp zu erstellen und durch das Kopieren dieser Prototypen neue Objekte zu erstellen. Diese Art von Entwurfsmuster wird zum Erstellen wiederholter Objekte verwendet und ist ein Erstellungsmuster, das eine gute Wahl zum Erstellen von Objekten bietet.
Wir können den Prototyp-Modus über die einzigartige Prototyp-Vererbungsfunktion von JavaScript implementieren, d. h. ein Objekt als Prototyp-Attributwert eines anderen Objekts erstellen. Wir können auch Object verwenden. Erstellen Sie (prototype, optionalDescriptorObjects), um die Prototypenvererbung zu implementieren.
// 因为不是构造函数,所以不用大写 var someCar = { drive: function () { }, name: '马自达 3' }; // 使用Object.create创建一个新车x var anotherCar = Object.create(someCar); anotherCar.name = '丰田佳美';
Die Methode Object.create() verwendet das angegebene Prototypobjekt und seine Eigenschaften, um ein neues Objekt zu erstellen.
var vehicle = { getModel: function () { console.log('车辆的模具是:' + this.model); } }; var car = Object.create(vehicle, { 'id': { value: MY_GLOBAL.nextId(), enumerable: true }, 'model': { value: '福特', enumerable: true } });
Wenn Sie das Prototypmuster selbst implementieren möchten, anstatt Object.create direkt zu verwenden. Sie können den folgenden Code verwenden, um dies zu erreichen.
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();
Der Prototypmodus besteht darin, einen gemeinsam genutzten Prototyp zu erstellen und durch Kopieren dieses Prototyps eine neue Klasse zu erstellen, die zum Erstellen wiederholter Objekte und zur Verbesserung der Leistung verwendet wird.
Bezogen auf das Prototypmuster von Onkel Toms Blog-Designmuster
Verwandte Empfehlungen:
JavaScript-Designmuster Serie 1: Fabrikmuster
JavaScript-Designmuster-Serie 2: Singleton-Muster
JavaScript-Designmuster-Serie 3: Builder-Muster
Das obige ist der detaillierte Inhalt vonJavaScript-Entwurfsmuster Serie 4: Prototypmuster. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!