Dieses Mal werde ich Ihnen Typof und Typbeurteilung in JS vorstellen (mit Code). Hier sind praktische Fälle . .
Art von ECMAScript verfügt über 5 primitive Typen, nämlich Undefiniert, Null, Boolean, Zahl und Zeichenfolge. Wir alle wissen, dass wir typeof
operatorverwenden können, um den Typ einer Variablen zu finden, aber wenn wir auf eine Variable vom Typ verweisen, wird nur object zurückgegeben, was bedeutet, dass typeof kann nur grundlegende Typwertvariablen korrekt identifizieren.
Sie fragen sich vielleicht, warum der Operator „typeof“ „object“ für Nullwerte zurückgibt. Dies war tatsächlich ein Fehler in der ursprünglichen Implementierung vonvar 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"
, die dann von ECMAScript übernommen wurde. Nun, null wird als Platzhalter für das 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 zu folgendem Code:
„Objekt“ wird sowohl für Arrays als auch für Objekte zurückgegeben. Daher besteht ein häufiges Bedürfnis in unserer täglichen Entwicklung darin, festzustellen, ob eine Variable ein Array oder ein Objekt ist.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"
Typurteil Typbeurteilung bedeutet im Allgemeinen, zu beurteilen, ob es sich um ein Array oder ein leeres Objekt handelt. Dies ist die Beurteilungsmethode, die ich für diese Anforderung jeden Tag verwendet oder gesehen habe
Bestimmen 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 zwei:
eine Instanz von Array; //wahre Methode drei:
a.constructor == Array; //true Die erste Methode ist allgemeiner, nämlich die Abkürzung Object.prototype.toString.call(a).
Die von Instanz und Konstruktor beurteilten Variablen müssen auf der aktuellen Seite deklariert werden. Beispielsweise hat eine Seite (übergeordnete Seite) einen Frame, und auf der untergeordneten Seite wird ein a deklariert Weisen Sie der übergeordneten Seite einen Wert zu und beurteilen Sie dann die Variable Array == object.constructor gibt false zurück
Bestimmen Sie, ob es sich um ein leeres Objekt handeltvar 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
Es gibt Variablen: var obj = {};
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
attributeid existiert....} Diese Methode ist relativ einfach und die meisten Leute können sich vorstellen, dass das Objekt ein bestimmtes Attribut enthält .
Methode drei:
Diese Methode ist die Implementierung der isEmptyObject()-Methode von jQuery.function isEmptyObject(e) { var t; for (t in e) return !1; return !0 } //trueisEmptyObject(obj); //falseisEmptyObject({ "a":1, "b":2});
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!
Empfohlene Lektüre:
Das obige ist der detaillierte Inhalt vonTyp und Typurteil in JS (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!