Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erklärung von Typ und Typbeurteilung in Javascript

Detaillierte Erklärung von Typ und Typbeurteilung in Javascript

小云云
小云云Original
2018-01-20 13:54:351445Durchsuche

Dieser Artikel enthält hauptsächlich einen Artikel, der auf Typ und Typbeurteilung in JavaScript basiert (ausführliche Erklärung). Der Herausgeber findet es ziemlich gut, deshalb teile ich es jetzt mit Ihnen und gebe es als Referenz. Folgen wir dem Herausgeber und schauen wir uns das an. Ich hoffe, es kann allen helfen.

typeof

ECMAScript hat 5 primitive Typen, nämlich Undefiniert, Null, Boolean, Zahl und String. Wir alle wissen, dass Sie den Operator „typeof“ verwenden können, um den Typ einer Variablen zu ermitteln. Bei Referenztypvariablen wird jedoch nur ein Objekt zurückgegeben, was bedeutet, dass „typeof“ nur grundlegende Typwertvariablen korrekt identifizieren kann.

var a = "abc";
console.log(typeof a); // "string"
var b = 123;
console.log(typeof b); // "number"
var c = true;
console.log(typeof c); // "boolean"
var d = null;
console.log(typeof d); // "object"
var f = undefined;
console.log(typeof f); // "undefined"
var g;
console.log(typeof g); // "undefined"

console.log(typeof x); // "undefined"

Sie fragen sich vielleicht, warum der Typeof-Operator „Objekt“ für Nullwerte zurückgibt. Dabei handelte es sich tatsächlich um einen Fehler in der ursprünglichen JavaScript-Implementierung, der dann von ECMAScript übernommen wurde. Nun wird null als Platzhalter für ein Objekt betrachtet, was den Widerspruch erklärt, aber technisch gesehen ist es immer noch ein primitiver Wert.

Das Letzte ist seltsam: Der Typ einer nicht existierenden Variablen x gibt tatsächlich „Objekt“ statt „undefiniert“ zurück.

Wir kommen zum folgenden Code:

var a = function() { };
console.log(typeof a); // "function"
var b = [1,2,3]; 
console.log(typeof b); // "object"
var c = { };
console.log(typeof c); // "object"

Gibt „object“ sowohl für Arrays als auch für Objekte zurück, daher besteht ein häufiges Bedürfnis in unserer täglichen Entwicklung darin, zu bestimmen, ob eine Variable eine ist Array oder ein Objekt.

Typbeurteilung

Typbeurteilung dient im Allgemeinen dazu, zu bestimmen, ob es sich um ein Array oder ein leeres Objekt handelt. Dies ist die Beurteilungsmethode, die ich täglich für diese Anforderung verwendet oder gesehen habe

Beurteilen Sie, ob es sich um ein Array handelt

Es gibt ein Array: var a = [1,2,3,4,5 ];

Methode eins:

toString.call(a); // "[object Array]" Methode zwei:

eine Instanz von Array; true-Methode Drei:

a.constructor == Array; //true Die erste Methode ist allgemeiner und die Abkürzung für Object.prototype.toString.call(a).

Die von der Instanz und dem Konstruktor beurteilten Variablen müssen auf der aktuellen Seite deklariert werden. Beispielsweise hat eine Seite (übergeordnete Seite) einen Frame, der Frame verweist auf eine Seite (untergeordnete Seite) und eine untergeordnete Seite wird deklariert .a und weisen Sie es einer Variablen der übergeordneten Seite zu. Array == object.constructor gibt „false“ zurück >Ja Variable: var obj = {};

var a = [1,2,3,4,5];
console.log(toString.call(a)); // "[object Array]"      
console.log(a instanceof Array); //true
console.log(a.constructor == Array); //true
Methode 1:

JSON.stringify(obj); // „{}“ wird in ein JSON-Objekt konvertiert, um festzustellen, ob es ein ist leere geschweifte Klammer

Methode 2:

if(obj.id){ //Wenn die Attribut-ID existiert...} Diese Methode ist relativ einfach und die meisten Leute können sich das vorstellen ist, dass Sie wissen müssen, dass es ein bestimmtes Attribut gibt.

Methode 3:

Diese Methode ist die Implementierung der isEmptyObject()-Methode von jQuery.

Verwandte Empfehlungen:

function isEmptyObject(e) { 
var t; for (t in e) return !1; return !0 } //trueisEmptyObject(obj);
//falseisEmptyObject({ "a":1, "b":2});

Einführung in die Verwendung von „typeof“ in JavaScript

Detaillierte Beispiele für die vergleichende Verwendung von „typeof“ und „instanceof“ in JavaScript

Zusammenfassung der Verwendung von typeof in js

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung von Typ und Typbeurteilung in Javascript. 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