Im fortgeschrittenen Tutorial wurde erwähnt, dass Methoden zum Erstellen von Objekten die Literalmethode, den Factory-Modus, den Konstruktormodus, den Prototypenmodus, den gemischten Modus usw. umfassen. Es gibt ein Beispiel im Werksmodus,
function creatPerson(name){
var obj=new Object();
obj.name=name;
return obj;
}
var person=creatPerson(“hello”);
Das Konstruktormuster wurde hier innerhalb der Funktion verwendet. Warum ist das Factory-Muster also noch vorhanden? Werden diese Methoden zur Objekterstellung Schritt für Schritt entwickelt? Gilt das Prototyp-Attribut einer Funktion nur für den Prototyp-Modus oder existiert es seit der Geburt von JavaScript? Kann mir jemand die Geschichte erzählen?
为了避免太复杂,你这么理解吧:
构造函数模式:
var person = new Person('hello')
工厂模式:
var person = creatPerson('hello')
至于 prototype 的问题,参考我另一个回答吧:javascript是面向对象的,怎么体现javascript的继承关系?