Datentypbeurteilung typeof
typeof kann die Beurteilung der meisten Datentypen lösen. Sein Rückgabewert ist eine Zeichenfolge, die den Typ des Operanden beschreibt.
//判断变量num是不是一个数字类型 if(typeof num=='number') { return true; }
Ergebnisse zurückgeben:
var a="hling"; console.log(a); //string var a=1; console.log(a); //number var a=false; console.log(a); //boolean var a; console.log(typeof a); //undfined var a = null; console.log(typeof a); //object var a = document; console.log(typeof a); //object var a = []; console.log(a); //object var a = function(){}; console.log(typeof a) //function除了可以判断数据类型还可以判断function类型
Außer Zeichenfolge, Zahl, boolescher Wert, undefiniert Zusätzlich zu diesen vier Typen geben Null, Objekt und Array alle Objekttypen zurück! ! !
Für Funktionstypen wird eine Funktion zurückgegeben, z. B. typeof(Date), typeof(eval) usw.
JS-Methode zur Bestimmung des Array-Typs
1) Instanz von
Instanz von wird zur Bestimmung verwendet Ob die Variable eine Instanz eines Objekts ist, ist ein ternärer Operator. Dieser Operator hat etwas mit der Objektorientierung in JavaScript zu tun. Um dies zu verstehen, müssen Sie zunächst die Objektorientierung in JavaScript verstehen. Denn dieser Operator erkennt, ob die Prototypkette des Objekts auf das Prototypobjekt des Konstruktors verweist.
a instanceof b?alert("true"):alert("false") //注意b值是你想要判断的那种数据类型,是不是一个字符串,比如Array
Beispiel:
var arr = [1,2,3,1]; alert(arr instanceof Array); // true
2) Konstruktor
Definition in der W3C-Definition: Das Konstruktorattribut gibt einen Verweis auf die Array-Funktion zurück, die dieses Objekt erstellt hat
var arr = []; arr instanceof Array; // true arr.constructor == Array; //true
Beurteilen Sie verschiedene Typen Methode ist:
console.log("string".constructor == String); console.log((123).constructor == Number); console.log(false.constructor == Boolean); console.log([].constructor == Array); console.log({}.constructor == Object);
Die allgemeine Methode:
function isArray(object){ return object && typeof object==='object' && Array == object.constructor; }
3) Merkmale Richter
object.isArray() zur Beurteilung, der Zweck besteht darin, genau zu erkennen, ob ein Wert ein Array ist. IE9+, Firefox 4+, Safari 5+, Opera 10.5+ und Chrome implementieren alle diese Methode. Versionen vor IE8 werden jedoch nicht unterstützt.
function isArray(object){ return object && typeof object==='object' && typeof object.length==='number' && typeof object.splice==='function' && //判断length属性是否是可枚举的 对于数组 将得到false !(object.propertyIsEnumerable('length')); }
4) Object.prototype.toString.call
Object.prototype.toString.call(value) == '[object Array]'
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung, wie der js-Datentyp und die Array-Methodeninstanz beurteilt werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!