Maison > interface Web > js tutoriel > le corps du texte

Explication détaillée sur la façon de juger le type de données js et l'instance de méthode tableau

伊谢尔伦
Libérer: 2017-07-18 11:37:22
original
1604 Les gens l'ont consulté

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;
}
Copier après la connexion

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类型
Copier après la connexion

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
Copier après la connexion

Exemple :


var arr = [1,2,3,1]; 
alert(arr instanceof Array); // true
Copier après la connexion

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
Copier après la connexion

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);
Copier après la connexion

La méthode générale :


function isArray(object){
  return object && typeof object==='object' &&
      Array == object.constructor;
}
Copier après la connexion

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'));
}
Copier après la connexion

4) Object.prototype.toString.call


Object.prototype.toString.call(value) == '[object Array]'
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!