Heim > Web-Frontend > js-Tutorial > Detaillierte Einführung in das JS-Beurteilungsarray

Detaillierte Einführung in das JS-Beurteilungsarray

小云云
Freigeben: 2018-01-25 13:14:07
Original
1962 Leute haben es durchsucht

Wie beurteilt man ein Array? Einige Freunde sollten es wissen, aber andere können nicht sagen, wie js Arrays beurteilt. Der unten stehende Herausgeber hat einige Informationen zu diesem Thema für Sie zusammengestellt und zusammengestellt. Interessierte Freunde können einen Blick darauf werfen. Ich hoffe, Sie beherrschen das Wissen über JS, um Arrays zu beurteilen.

typeof-Operator

typeof gibt eine Zeichenfolge dieses Typs zurück

 var a = '123'
 console.log(typeof(a)) //string
 var b = []
 console.log(typeof(b)) //object
 var c = {}
 console.log(typeof(c)) //object
 var d = null
 console.log(typeof(d)) //object
Nach dem Login kopieren

Wie oben gesehen, wird das Array-Objekt null von typeof zurückgegeben und es ist alles Objekt This Methode kann nicht erkannt werden. Ob es sich um ein Array handelt

Prototyp-Konstruktorkettenmethode

Instanziierung hat ein Konstruktorattribut. Dieses Attribut zeigt auf die Methode, die das Objektarray generiert

 var a = []
 console.log(a.__proto__.constructor) //ƒ Array() { [native code] }
 var b = {}
 console.log(b.__proto__.constructor) //ƒ Object() { [native code] }
Nach dem Login kopieren

Wie oben zu sehen ist, wird das Array von der Array-Funktion verwendet. Das instanziierte Objekt wird von der Object-Funktion instanziiert.

Ich denke, dass diese Methode in Ordnung ist, aber das Konstruktorattribut kann überschrieben werden

  var a = []
  a.__proto__.constructor = Object
  console.log(a.__proto__.constructor) //ƒ Object() { [native code] }
Nach dem Login kopieren

Sie können sehen, dass dies ein Array geworden ist. Es wird davon ausgegangen, dass es ein Objekt geworden ist, daher ist diese Methode nicht die beste

instanceof

Diese Methode dient dazu, festzustellen, ob Das Objekt, auf das das Prototypattribut eines bestimmten Konstruktors zeigt, befindet sich in der Prototypenkette eines anderen zu erkennenden Objekts.

  var a = []
  console.log(a instanceof Array) //a对象的原型链上能找到Array true
  console.log(a instanceof Object) //true 原型链上也能找到对象
Nach dem Login kopieren

Das Obige ist nicht besonders einfach zu bestimmen, ob es sich um ein Array oder ein Objekt handelt

Die allgemeine Methode toString

die Methode toString() gibt den Charakter dieses Objektstrings zurück

  var a= '123'
  console.log(a.toString()) //123
  var b = [1,2,3]
  console.log(b.toSting()) //1,2,3
  var c = {}
  console.log(c.toString)) //[object Object]
Nach dem Login kopieren

Sie können sehen, dass nur Objekte Objekttypen zurückgeben

Zurückgeben Der Typ [Objekttyp] stellt den Typ des Objekts dar.

Beurteilen Sie das Objekt und verwenden Sie die toString-Methode von Object, um es abzurufen. Sie können die toString-Methode von

 var a =[]
 Object.prototype.toString.call(a) //[object Array]
Nach dem Login kopieren

verwenden, um festzustellen, ob dies der Fall ist ein Array

Bitte beachten Sie jedoch, dass toString() am Objektprototyp auch geändert werden kann

Array.isArray(XX)
Nach dem Login kopieren

Ich persönlich bin der Meinung, dass die allgemeine Methode toString() zuverlässiger ist

Verwandte Empfehlungen:

js ermittelt, ob das Array eine String-Variable enthält

Detaillierte Erklärung, wie die Funktion in_array verwendet wird, um die Array-Nutzung zu bestimmen in JavaScript

Gemeinsame Methoden für PHP, um festzustellen, ob ein Array leer ist (fünf Methoden)

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in das JS-Beurteilungsarray. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage