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"
var a = [1,2,3,4,5];
Es gibt ein Array:
toString.call(a); // "[object Array]"
a instanceof Array; //true
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
<🎜 zurückgegeben >
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!