Heim  >  Artikel  >  Web-Frontend  >  Typ und Typurteil in Javascript

Typ und Typurteil in Javascript

小云云
小云云Original
2018-01-02 10:19:381327Durchsuche

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 Operator „typeof“ „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, also ein häufiges Bedürfnis in unserer täglichen Entwicklung So bestimmen Sie, ob die Variable ein Array oder ein Objekt ist.

Typbeurteilung

Bei der Typbeurteilung wird im Allgemeinen beurteilt, 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 1:

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

a instanceof Array; //true Methode drei:

a.constructor == Array; //true Die erste Methode ist allgemeiner, nämlich Object.prototype.toString .call( a) Abkürzung.

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, um zu beurteilen, ob Array == object.constructor false ist es ist Das leere Objekt

hat Variablen: 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 umgewandelt, um festzustellen, ob es sich um eine leere Klammer handelt Methode 2:

if(obj. id){ //Wenn die Attribut-ID existiert...} Diese Methode ist relativ einfach und die meisten Leute können sich vorstellen, dass das Objekt ein bestimmtes Attribut enthält. Methode 3:

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

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


Beispielanalyse von typeof und Typbeurteilung in JavaScript

Detaillierte Erläuterung vergleichender Anwendungsbeispiele von typeof und instanceof in JavaScript

Das obige ist der detaillierte Inhalt vonTyp und Typurteil 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