Heim >Web-Frontend >js-Tutorial >Wie funktioniert der neue Operator in js?
Was ist das Funktionsprinzip des neuen Operators in js? Es werden spezifische Codebeispiele benötigt.
Der neue Operator in js ist das Schlüsselwort, das zum Erstellen von Objekten verwendet wird. Seine Funktion besteht darin, ein neues Instanzobjekt basierend auf dem angegebenen Konstruktor zu erstellen und einen Verweis auf das Objekt zurückzugeben. Bei Verwendung des neuen Operators werden tatsächlich die folgenden Schritte ausgeführt:
Das Folgende ist ein einfaches Beispiel, um die Funktionsweise des neuen Operators zu veranschaulichen:
// 定义一个构造函数 function Person(name, age) { this.name = name; this.age = age; } // 使用new操作符创建一个实例对象 var person1 = new Person('Tom', 18); // 输出实例对象的属性值 console.log(person1.name); // 输出 'Tom' console.log(person1.age); // 输出 18
Im obigen Code definieren wir einen Konstruktor namens Person. Der Konstruktor akzeptiert zwei Parameter, Name und Alter, und verwendet sie als Attribute des Instanzobjekts person1.
Wenn Sie den neuen Operator zum Erstellen einer Person1-Instanz verwenden, wird zuerst ein leeres Objekt erstellt und dann wird der Prototyp des leeren Objekts auf das Prototypobjekt des Konstruktors Person verwiesen. Als nächstes wird dem leeren Objekt der Gültigkeitsbereich des Konstruktors zugewiesen, sodass über diesen innerhalb des Konstruktors auf das leere Objekt zugegriffen werden kann. Abschließend wird der Code im Konstruktor ausgeführt und den Eigenschaften des neuen Objekts Name und Alter zugewiesen.
Daher verfügt das über den neuen Operator erstellte Objekt person1 über die Attribute Name und Alter, die im Konstruktor Person definiert sind, und auf diese Attribute kann über den Punktoperator zugegriffen werden.
Es ist zu beachten, dass ein Objekt innerhalb des Konstruktors nicht explizit zurückgegeben wird. Wenn der Konstruktor ein Objekt zurückgibt, ist die vom neuen Operator erstellte Instanz das zurückgegebene Objekt und nicht das neu erstellte Objekt. Zum Beispiel:
// 定义一个构造函数 function Person(name, age) { this.name = name; this.age = age; // 错误示例:返回一个对象 return { name: 'Error', age: -1 }; } // 使用new操作符创建一个实例对象 var person1 = new Person('Tom', 18); // 此时person1实际上是一个普通的对象,而不是Person的实例 console.log(person1 instanceof Person); // 输出 false console.log(person1.name); // 输出 'Error' console.log(person1.age); // 输出 -1
Im obigen Beispiel gibt der Konstruktor Person explizit ein Objekt zurück, sodass person1 eigentlich keine Instanz von Person, sondern ein gewöhnliches Objekt ist.
Zusammenfassend lässt sich sagen, dass der neue Operator verwendet wird, um ein neues Instanzobjekt zu erstellen und die Eigenschaften des Objekts im Konstruktor zu initialisieren. Das durch den neuen Operator erstellte Instanzobjekt erbt das Prototypobjekt des Konstruktors und kann auf die im Konstruktor definierten Eigenschaften und Methoden zugreifen.
Das obige ist der detaillierte Inhalt vonWie funktioniert der neue Operator in js?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!