Heim > Artikel > Web-Frontend > Eine kurze Diskussion über die Beurteilung des JS-Datentyps und der Array-Beurteilung
Am Anfang geschrieben:
Gestern während des Interviews stellte ich fest, dass ich eine sehr, sehr einfache Frage nicht beantwortet hatte. Vielleicht lag es daran, dass ich zu nervös war und das Gefühl hatte, ich würde etwas machen ich selbst weine. Später habe ich darüber nachgedacht, ich sollte es sorgfältig aufzeichnen, damit ich einen tiefen Eindruck habe. Die Revolution war noch nicht erfolgreich und wir müssen noch hart daran arbeiten, stärker zu werden!
1. Die sechs wichtigsten js-Datentypen
Zahl: Zahlen, ganze Zahlen, Gleitkommazahlen usw.,
Zeichenfolge: einfache Anführungszeichen oder doppelte Anführungszeichen,
Boolean: Gibt true und false zurück, diese beiden Werte entsprechen nicht unbedingt 1 und 0
Objekt: Objekt, das durch Ausführen des neuen Operators gefolgt vom Namen des Objekttyps erstellt werden kann erstellt werden.
null: Es gibt nur einen Wertdatentyp. Logischerweise stellt der Nullwert einen Nullobjektzeiger dar.
undefiniert: Undefiniert Wenn eine Variable mit var deklariert, aber nicht initialisiert wird, ist der Wert der Variablen undefiniert.
2. 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类型
Zusätzlich zu den vier Typen Zeichenfolge, Zahl, Boolescher Wert und Undefiniert, Null und Objekt, Array gibt alle Objekttypen zurück! ! !
Für Funktionstypen wird eine Funktion zurückgegeben, z. B. typeof(Date), typeof(eval) usw.
3. So bestimmen Sie den Array-Typ in js
1) Instanz von
Instanz von ist ein ternärer Operator, der verwendet wird, um zu bestimmen, ob eine Variable eine Instanz eines Objekts ist. 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 W3C-Definition: Konstruktorattribut Gibt a zurück Verweis auf die Array-Funktion, die dieses Objekt erstellt hat
var arr = []; arr instanceof Array; // true arr.constructor == Array; //true
Die Methode zur Beurteilung verschiedener Typen ist:
console.log("string".constructor == String); console.log((123).constructor == Number); console.log(false.constructor == Boolean); console.log([].constructor == Array); console.log({}.constructor == Object);
Allgemeine Methode:
function isArray(object){ return object && typeof object==='object' && Array == object.constructor; }
3) Charakteristische Beurteilung
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]'
Der obige Artikel befasst sich kurz mit der Beurteilung von js-Datentypen und Arrays Das Urteil bezieht sich auf alle vom Herausgeber geteilten Inhalte. Ich hoffe, dass es Ihnen eine Referenz geben kann, und ich hoffe auch, dass Sie die chinesische PHP-Website unterstützen.
Weitere Artikel zur Beurteilung von js-Datentypen und Arrays finden Sie auf der chinesischen PHP-Website!