Untersuchung des einzigartigen JavaScript-Verhaltens: Warum Arrays von Objekten „Objekt“ statt „Array“ zurückgeben
In JavaScript ein faszinierendes Phänomen entsteht beim Arbeiten mit Arrays von Objekten. Überraschenderweise werden sie trotz ihrer Array-ähnlichen Natur als Objekte klassifiziert, wenn der Operator „typeof“ verwendet wird. Diese Diskrepanz kann ziemlich verwirrend sein, insbesondere in Fällen wie den folgenden:
$.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 } });
Dieses Verhalten ist auf eine Besonderheit in der JavaScript-Spezifikation zurückzuführen, die Array-Objekte als vom Typ Object betrachtet. Dies bedeutet jedoch nicht, dass Arrays und Objekte austauschbar sind. Um genau zu bestimmen, ob eine Variable ein Array darstellt, verwenden Sie die folgenden Methoden:
Durch die Verwendung dieser Techniken können Sie genau erkennen, ob eine Variable ein Array ist, selbst wenn sie Objekte enthält, und so die offensichtliche Diskrepanz zwischen ihrem arrayähnlichen Verhalten und der Objektklassifizierung auflösen.
Das obige ist der detaillierte Inhalt vonWarum gibt „typeof' „Objekt' für Arrays von Objekten in JavaScript zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!