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

Detaillierte Einführung in das JS-Beurteilungsarray

小云云
小云云Original
2018-01-25 13:14:071860Durchsuche

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

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] }

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] }

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 原型链上也能找到对象

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]

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]

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)

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!

Stellungnahme:
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