Heim > Web-Frontend > js-Tutorial > Hauptteil

Detaillierte Erläuterung, wie der js-Datentyp und die Array-Methodeninstanz beurteilt werden

伊谢尔伦
Freigeben: 2017-07-18 11:37:22
Original
1604 Leute haben es durchsucht

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;
}
Nach dem Login kopieren

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类型
Nach dem Login kopieren

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
Nach dem Login kopieren

Beispiel:


var arr = [1,2,3,1]; 
alert(arr instanceof Array); // true
Nach dem Login kopieren

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
Nach dem Login kopieren

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);
Nach dem Login kopieren

Die allgemeine Methode:


function isArray(object){
  return object && typeof object==='object' &&
      Array == object.constructor;
}
Nach dem Login kopieren

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'));
}
Nach dem Login kopieren

4) Object.prototype.toString.call


Object.prototype.toString.call(value) == '[object Array]'
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!