Heim >Web-Frontend >js-Tutorial >Beispielanalyse von Typeof und Typbeurteilung in JavaScript
typeof
ECMAScript hat 5 primitive Typen, nämlich Undefiniert, Null, Boolean, Zahl und String. Wir alle wissen, dass wir typeofoperator verwenden können, um den Typ einer Variable zu finden, aber für Referenztypvariablen wird nur <code><a href="http://www.php.cn/wiki/60.html" target="_blank">object</a>
object
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. Dies war tatsächlich ein Fehler in der ursprünglichen Implementierung von JavaScript, die dann von ECMAScript übernommen wurde. Nun gilt null als Platzhalter für das Objekt
, was den Widerspruch erklärt, aber technisch gesehen ist es immer noch ein primitiver Wert.x
Das letzte ist seltsam, der Typ einer nicht existierenden Variablen
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. TypbeurteilungTypbeurteilung 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
var a = [1,2,3,4,5];
Es gibt ein Array:
toString.call(a); // "[object Array]"Methode zwei:
a instanceof Array; //trueMethode drei:
a.constructor == Array; //true
Object.prototype.toString.call(a)
Die erste Methode ist allgemeiner, die Abkürzung für
instanceof
constructor
und beurteilten Variablen müssen auf der aktuellen Seite deklariert werden. Beispielsweise hat eine Seite (übergeordnete Seite) einen FrameArray == object.constructor
und der Frame verweist auf eine Seite (untergeordnete Seite), deklarieren Sie ein a auf der untergeordneten Seite und weisen Sie es einer Variablen der übergeordneten Seite zu. Wenn die Variable zu diesem Zeitpunkt beurteilt wird, wird false
var a = [1,2,3,4,5]; console.log(toString.call(a)); // "[object Array]" console.log(a instanceof Array); //trueconsole.log(a.constructor == Array); //true
Variablen hat:
var obj = {};
Methode 1:
JSON.stringify(obj); // "{}"
durch Konvertieren in ein JSON-Objekt Methode 2:
Diese Methode ist relativ einfach und die meisten Leute können sich das vorstellen. Die Voraussetzung ist, dass es ein bestimmtes Attribut im gibt Objekt.if(obj.id){ //如果属性id存在....}
Methode 3:
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});
Das obige ist der detaillierte Inhalt vonBeispielanalyse von Typeof und Typbeurteilung in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!