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
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;
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 这两段代码是一样的
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));
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!