Heim > Web-Frontend > js-Tutorial > Hauptteil

Warum gibt „typeof' „Object' für JavaScript-Arrays zurück?

Mary-Kate Olsen
Freigeben: 2024-11-02 19:18:31
Original
648 Leute haben es durchsucht

Why Does `typeof` Return

Array-Typ in JavaScript verstehen: Warum gibt typeof „Object“ anstelle von „Array“ zurück?

JavaScript zeigt ein faszinierendes Verhalten, bei dem die Der Operator „typeof“ gibt „Objekt“ für ein Array von Objekten zurück. Dies kann in Szenarien wie dem folgenden Code beobachtet werden:

$.ajax({
  url: 'http://api.twitter.com/1/statuses/user_timeline.json',
  data: { screen_name: 'mick__romney' },
  dataType: 'jsonp',
  success: function (data) {
    console.dir(data); // Array[20]
    alert(typeof data); // Object
  },
});
Nach dem Login kopieren

Im obigen Code sind Daten ein Array von Objekten, die Twitter-Status darstellen. Während console.dir() meldet, dass der Typ „Array“ ist, gibt typeof „Object“ zurück.

Dieses Verhalten ergibt sich aus der Tatsache, dass JavaScript-Arrays technisch gesehen Objekte sind. Sie erben vom Object-Prototyp, was bedeutet, dass sie objektähnliche Eigenschaften und Methoden besitzen. Diese Vererbung ist für das „Object“-Ergebnis von typeof verantwortlich.

Um festzustellen, ob eine Variable wirklich ein Array in JavaScript ist, gibt es mehrere zuverlässige Methoden:

1. Instanz von Operator:

var isArr = data instanceof Array;
Nach dem Login kopieren

2. Array.isArray() Methode:

var isArr = Array.isArray(data);
Nach dem Login kopieren

3. Object.prototype.toString.call() Methode:

isArr = Object.prototype.toString.call(data) == '[object Array]';
Nach dem Login kopieren

4. jQuery isArray()-Funktion (bei Verwendung von jQuery):

var isArr = $.isArray(data);
Nach dem Login kopieren

Diese Methoden bieten genauere Ergebnisse als typeof bei der Unterscheidung zwischen Arrays und anderen Objekttypen. Durch die Nutzung dieser Alternativen können Entwickler sicher mit Arrays in JavaScript arbeiten, ohne durch die Art des Verhaltens verwirrt zu werden.

Das obige ist der detaillierte Inhalt vonWarum gibt „typeof' „Object' für JavaScript-Arrays zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!