1. Ausgehend vom Konstruktor können sowohl obj-Instanz-Array
Typof als auch Instanzof zur Bestimmung von Variablen verwendet werden data ; Aber typeof ist nicht genau, um den Datentyp zu bestimmen. Beispielsweise ist der Rückgabewerttyp von Arrays, regulären Ausdrücken, Datumsangaben und Objekten ausschließlich ein Objekt, was zu einigen Fehlern führen kann.
Der Instanzoperator wird verwendet, um zu testen, ob ein Objekt die Prototypeigenschaft eines Konstruktors in seiner Prototypenkette hat und einen booleschen Wert zurückgibt.
2. Beginnen Sie mit dem Prototyp Array.prototype.isPrototypeOf(obj);
Verwenden Sie die Methode isPrototypeOf(), um zu bestimmen, ob Array der Prototyp ist von obj Wenn ja, gibt es in der Kette true zurück, andernfalls false.
3. Array.isArray()-Methode
Tatsächlich hat js eine Methode bereitgestellt, um zu bestimmen, ob es sich um einen Array-Typ handelt:
Wenn Array.isArray() nicht verfügbar ist, hat MDN den folgenden Patch erstellt, der darauf hinweist, dass dies weiterhin empfohlen wird Verwenden Sie die zuvor erwähnte dritte Methode. Methode Object.prototype.toString.call(obj).
4. Rufen Sie entsprechend dem Klassenattribut (Klassenattribut) des Objekts die toString()-Methode in der gesamten Prototypenkette auf.
Erklären Sie, dass ein einmal in js erstelltes Objekt intern den Typnamen des erstellten Objekts trägt. Nach der Erstellung kann es nicht mehr geändert werden. Wie erhält man also den Typnamen dieses Objekts?
js bietet eine Möglichkeit, die toString-Methode im Objektprototyp Object.prototype.toString.call(obj) aufzurufen, da die von vielen Objekten geerbte toString()-Methode neu geschrieben wurde, um dies zu ermöglichen um die richtige toString()-Version aufzurufen, die die originellste Version ist. Sie können die Function.call()-Methode verwenden, wobei call wie folgt verstanden werden kann. Dies entspricht dem Ausleihen dieses Objekts durch obj. Object.prototype.toString();
Dann Es gibt diese Methode. Sie können den Objektnamen wie folgt erhalten:
oder
Empfohlenes Tutorial: Einführung in die Java-Entwicklung
Das obige ist der detaillierte Inhalt vonJava bestimmt, ob ein Objekt ein Array ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!