Es gibt zwei Möglichkeiten, eine erweiterte Objektkonstruktion zu erstellen: die Verwendung der Schlüsselwortkonstruktion „this“ und die Verwendung der Prototyp-Prototypkonstruktion. Zum Beispiel:
//使用this关键字定义构造的上下文属性 function Girl() { this.name = "big pig"; this.age = 20; this.standing; this.bust; this.waist; this.hip; } //使用prototype function Girl(){} Girl.prototype.name = "big pig"; Girl.prototype.age = 20; Girl.prototype.standing; Girl.prototype.bust; Girl.prototype.waist; Girl.prototype.hip; alert(new Girl().name);
Die beiden Definitionen im obigen Beispiel sind im Wesentlichen gleich. Sie definieren beide die Attributinformationen des „Girl“-Objekts. Der Unterschied zwischen „this“ und „prototype“ liegt hauptsächlich in der Reihenfolge des Attributzugriffs. Zum Beispiel:
function Test() { this.text = function() { alert("defined by this"); } } Test.prototype.test = function() { alert("defined by prototype"); } var _o = new Test(); _o.test();//输出“defined by this”
Beim Zugriff auf die Eigenschaften oder Methoden eines Objekts werden die Regeln zum Durchsuchen der Prototypenkette befolgt. Suchen Sie zunächst nach den eigenen statischen Eigenschaften und Methoden, dann nach den zugänglichen Eigenschaften und Methoden des Konstruktionskontexts und schließlich nach der Prototypenkette der Konstruktion.
Ein weiterer Unterschied zwischen den Definitionen von „dies“ und „Prototyp“ besteht darin, dass die Attribute unterschiedliche Räume einnehmen. Mit dem Schlüsselwort „this“ initialisiert das Beispiel den für alle im Konstruktor enthaltenen Eigenschaften und Methoden erforderlichen Speicherplatz für jede Instanz und verwendet die Definition „prototype“, da „prototype“ tatsächlich eine Referenz auf das übergeordnete Element ist Kopie der Daten, sodass Ressourcen bei der Initialisierung und Speicherung gespart werden als bei „diesem“.
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung von Beispielen zum Erstellen benutzerdefinierter Objekte in Javascript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!