Maison > Article > interface Web > Explication détaillée sur la façon de juger le type de données js et l'instance de méthode tableau
Jugement de type de données typeof
typeof peut résoudre le jugement de la plupart des types de données. Sa valeur de retour est une chaîne qui décrit le type de l'opérande.
//判断变量num是不是一个数字类型 if(typeof num=='number') { return true; }
Résultats de retour :
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类型
Sauf chaîne, nombre, booléen, non défini En plus de ces quatre types, null, object et array renvoient tous des types d'objet ! ! !
Pour les types de fonctions, la fonction est renvoyée, telle que typeof(Date), typeof(eval), etc.
Méthode JS pour déterminer le type de tableau
1) instanceof
instanceof est utilisée pour déterminer an Le fait que la variable soit une instance d'un objet est un opérateur ternaire. Cet opérateur a quelque chose à voir avec l'orientation objet en JavaScript. Pour comprendre cela, vous devez d'abord comprendre l'orientation objet en JavaScript. Car cet opérateur détecte si la chaîne prototype de l'objet pointe vers l'objet prototype du constructeur.
a instanceof b?alert("true"):alert("false") //注意b值是你想要判断的那种数据类型,是不是一个字符串,比如Array
Exemple :
var arr = [1,2,3,1]; alert(arr instanceof Array); // true
2) constructeur
Définition dans la définition W3C : L'attribut constructeur renvoie une référence à la fonction tableau qui a créé cet objet
var arr = []; arr instanceof Array; // true arr.constructor == Array; //true
Juger les différents types La méthode est :
console.log("string".constructor == String); console.log((123).constructor == Number); console.log(false.constructor == Boolean); console.log([].constructor == Array); console.log({}.constructor == Object);
La méthode générale :
function isArray(object){ return object && typeof object==='object' && Array == object.constructor; }
3) Caractéristiques Juge
object.isArray() pour juger, le but est de détecter avec précision si une valeur est un tableau. IE9+, Firefox 4+, Safari 5+, Opera 10.5+ et Chrome implémentent tous cette méthode. Cependant, les versions antérieures à IE8 ne sont pas prises en charge.
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]'
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!