Heim > Web-Frontend > js-Tutorial > JavaScript-Methode zum Bestimmen, ob eine Variable ein Array ist (Array)_Javascript-Kenntnisse

JavaScript-Methode zum Bestimmen, ob eine Variable ein Array ist (Array)_Javascript-Kenntnisse

WBOY
Freigeben: 2016-05-16 15:14:00
Original
1241 Leute haben es durchsucht

Heute wird der Herausgeber einige relevante Kenntnisse über JavaScript sortieren, um festzustellen, ob eine Variable ein Array (Array) ist. Der spezifische Inhalt lautet wie folgt:

1. Ist typeof wirklich so mächtig? ?

//首先看代码
var ary = [1,23,4];
console.log(typeof ary); //输出结果是Object
Nach dem Login kopieren

Die obige Methode kann nicht in Echtzeit erkennen, ob es sich um ein Array handelt, sondern nur seinen Typ bestimmen. Daher eignet sich typeof gut zur Beurteilung grundlegender Typdaten, kann jedoch nicht genau testen, ob es sich um ein Array handelt (die spezifische Verwendung von). typeof wird später erwähnt) , nun zurück zum Thema)

2. Urteilsinstanz

var ary = [1,23,4];
console.log(ary instanceof Array)//true;
Nach dem Login kopieren

Dem Ausgabeeffekt nach zu urteilen, kann es genau erkennen, ob es sich bei dem Datentyp um ein Array handelt. Lassen Sie uns zunächst über die Mängel dieser Methode nachdenken 🎜>

3. Prototypenkettenmethode

var ary = [1,23,4];
console.log(ary.__proto__.constructor==Array);//true
console.log(ary.constructor==Array)//true 这两段代码是一样的
Nach dem Login kopieren
Diese Methode ist sehr ausgefeilt~~ Sie verwendet die Prototyp-Kettenmethode, aber diese ist kompatibel. In frühen Versionen von IE ist __proto__ nicht definiert~ Darüber hinaus hat dies immer noch Einschränkungen. Lassen Sie uns nun die Einschränkungen der zweiten und dritten zusammenfassen Methoden

Fassen Sie die Einschränkungen der zweiten und dritten Methode zusammen

Die von Instanz und Konstruktor beurteilten Variablen müssen auf der aktuellen Seite deklariert werden. Beispielsweise hat eine Seite (übergeordnete Seite) einen Frame, eine Seite (untergeordnete Seite) wird im Frame referenziert und ein Ary wird im deklariert Untergeordnete Seite und Weisen Sie sie einer Variablen der übergeordneten Seite zu. Beurteilen Sie dann die Variable. Array == object.constructor; gibt false zurück

Grund:

1. Array sind Referenzdaten. Während des Übertragungsvorgangs erfolgt nur die Übertragung der Referenzadresse.

2. Die vom Array-nativen Objekt jeder Seite referenzierte Adresse ist unterschiedlich. Der entsprechende Konstruktor des auf der Unterseite deklarierten Arrays ist das Array-Objekt der übergeordneten Seite Array ist nicht gleich dem Array der Unterseiten; sonst wird es schwierig, das Problem zu verfolgen!

4. Gängige Methoden

var ary = [1,23,4];
function isArray(o){
return Object.prototype.toString.call(o)=='[object Array]';
}
console.log(isArray(ary));
Nach dem Login kopieren
Informationen zur spezifischen Verwendung von Object.prototype.toString finden Sie unter
Verwendung von Object.prototype.toString

Okay, ich werde Ihnen so viel über die Methode von JavaScript zur Bestimmung, ob eine Variable ein Array ist (Array), vorstellen. Heute werde ich hauptsächlich diese vier Typen für Sie zusammenfassen. Wenn dieser Artikel nicht gut geschrieben ist, geben Sie mir bitte einige Rat. Danke!

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