使用隐藏的new来创建对象_jquery
很多时候我们是这样写类,然后使用new创建对象的。
function Person(name,age){
this.name=name;
this.age=age;
}
Person.prototype={
setName : function(n){this.name=n;},
getName : function(){return this.name;}
}
var p = new Person('jack',25);
改成这样的
function Person(name,age){
//条件改为(this==window)或(this==self)或(this.constructor!=Object)
if(!this.setName){
return new Person(name,age);
}
this.name=name;
this.age=age;
}
Person.prototype={
setName : function(n){this.name=n;},
getName : function(){return this.name;}
}
var p = Person('jack',25);
注意该类较最上面的写类方式中多了以下
if(!this.setName){
return new Person(name,age);
}
好,创建类的实例(对象)方式也变成了如下
var p = Person('jack',25);
这种创建方式(函数调用)较上面的少了“new_”,new和空格,实际上是在类内部new了。而这样方式每次创建对象可以减少4个byte。
如果把类内部的if判断条件换成非prototype上的属性,如this.name。程序会提示出错:too much recursion
function Person(name,age){
if(!this.name){
return new Person(name,age);
}
this.name=name;
this.age=age;
}
Person.prototype={
setName : function(n){this.name=n;},
getName : function(){return this.name;}
}
var p = Person('jack',25);

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Lösung: 1. Überprüfen Sie die Rechtschreibung und den Pfad. 3. Überprüfen Sie die Registrierung. 5. Überprüfen Sie die Sicherheitssoftware. 8. Anzeigen Fehlermeldungen; 9. Finden Sie andere Lösungen. Ausführliche Einführung: 1. Rechtschreibung und Pfad prüfen: Stellen Sie sicher, dass der Name und der Pfad des Objekts keine Rechtschreibfehler enthalten und die Datei im angegebenen Pfad vorhanden ist. 2. Verweise auf Komponenten usw. hinzufügen.

Die Schritte zum Erstellen eines Objekts über den Java-Reflexionsmechanismus lauten wie folgt: Laden Sie die Zielklasse: Verwenden Sie die Methode Class.forName(). Holen Sie sich den Konstruktor: Verwenden Sie die Methode getDeclaredConstructor(). Erstellen Sie ein Objekt: Verwenden Sie die Methode newInstance(), um Parameter zu übergeben.

Unterschiede: 1. Make kann nur zum Zuweisen und Initialisieren von Daten der Typen Slice, Map und Chan verwendet werden, während new jeden Datentyp zuordnen kann. 2. Die neue Zuweisung gibt einen Zeiger vom Typ „*Type“ zurück, während make eine Referenz vom Typ „Type“ zurückgibt. 3. Der von new zugewiesene Speicherplatz wird gelöscht. Nachdem make den Speicherplatz zugewiesen hat, wird er initialisiert.

So erstellen und initialisieren Sie Klassen und Objekte in der Go-Sprache. Obwohl die Go-Sprache nicht über das Konzept von Klassen in traditionellen objektorientierten Sprachen verfügt, können wir ähnliche Funktionen durch Strukturen und Methoden erreichen. In diesem Artikel erfahren Sie, wie Sie Klassen und Objekte in der Go-Sprache erstellen und initialisieren. 1. Definieren Sie die Struktur der Klasse. In der Go-Sprache können wir die Struktur verwenden, um die Attribute und Methoden der Klasse zu definieren. Eine Struktur ist ein benutzerdefinierter zusammengesetzter Typ, der mehrere Felder unterschiedlichen Typs enthalten kann. Wenn wir beispielsweise eine Rechteckklasse implementieren möchten, können wir sie als definieren

1. Konzept In der Java-Sprache ist der „neue“ Ausdruck für die Erstellung einer Instanz verantwortlich. Der Konstruktor wird aufgerufen, um die Instanz zu initialisieren „Objektreferenz“, aber der Wert des neuen Ausdrucks ist eine Referenz auf das neu erstellte Objekt. 2. Zweck: Erstellen Sie ein Objekt einer neuen Klasse. 3. Arbeitsmechanismus: Allokieren Sie Speicherplatz für Objektmitglieder und geben Sie Standardwerte explizit an, führen Sie Konstruktionsmethodenberechnungen durch und geben Sie häufig Referenzwerte zurück bedeutet, neue im Speicher zu öffnen. Der Speicherplatz wird im Heap-Bereich im Speicher zugewiesen. Er wird von JVM gesteuert und verwaltet den Speicher. Hier verwenden wir die String-Klasse als Beispiel. Pu


Wie funktioniert der neue Operator in js? Es werden spezifische Codebeispiele benötigt. Der neue Operator in js ist ein 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: Erstellen eines neuen leeren Objekts; Verweisen des Prototyps des leeren Objekts auf das Prototypobjekt des Konstruktors; Zuweisen des Gültigkeitsbereichs des Konstruktors auf das neue Objekt Objekt); Führen Sie den Code im Konstruktor aus und geben Sie das neue Objekt an

Fujifilm war in den letzten Jahren sehr erfolgreich, vor allem aufgrund seiner Filmsimulationen und der Beliebtheit seiner kompakten Kameras im Rangefinger-Stil in den sozialen Medien. Laut Fujirumors scheint sich das Unternehmen jedoch nicht auf seinen Lorbeeren auszuruhen. Die u
