Maison > Article > interface Web > Une brève discussion sur le jugement du type de données js et le jugement du tableau
Écrit au début :
Hier lors de l'entretien, j'ai constaté que je n'avais pas répondu à une question très, très simple. C'était peut-être parce que j'étais trop nerveux, et j'avais l'impression de faire des choses. moi-même je pleure. Plus tard, j'y ai réfléchi, je devrais l'enregistrer soigneusement pour pouvoir avoir une profonde impression. La révolution n’a pas encore réussi, et nous devons encore travailler dur pour devenir forts !
1. Les six principaux types de données js
numéro : nombres, entiers, nombres à virgule flottante, etc.,
chaîne : guillemets simples ou doubles,
Booléen : Renvoie vrai et faux, ces deux valeurs ne correspondent pas forcément à 1 et 0
objet : Objet, qui peut être créé en exécutant l'opérateur new suivi du nom du type d'objet à créer.
null : Il n'existe qu'un seul type de données valeur. Logiquement, la valeur nulle représente un pointeur d'objet nul.
undefined : Indéfini. Lorsqu'une variable est déclarée à l'aide de var mais non initialisée, la valeur de la variable n'est pas définie.
2. 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 renvoyés :
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类型
En plus des quatre types chaîne, nombre, booléen et indéfini, nul et object , le tableau renvoie tous les types d'objets ! ! !
Pour les types de fonctions, la fonction est renvoyée, telle que typeof(Date), typeof(eval), etc.
3. Comment déterminer le type de tableau en js
1) instanceof
instanceof est un opérateur ternaire utilisé pour déterminer si une variable est une instance d'un objet. 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) définition du constructeur
dans la définition du W3C : attribut constructeur Renvoie un référence à la fonction de tableau qui a créé cet objet
var arr = []; arr instanceof Array; // true arr.constructor == Array; //true
La méthode pour juger des différents types est :
console.log("string".constructor == String); console.log((123).constructor == Number); console.log(false.constructor == Boolean); console.log([].constructor == Array); console.log({}.constructor == Object);
Méthode générale :
function isArray(object){ return object && typeof object==='object' && Array == object.constructor; }
3) Jugement caractéristique
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]'
L'article ci-dessus parle brièvement du jugement du type de données js et arrays Le jugement est tout le contenu partagé par l'éditeur. J'espère qu'il pourra vous donner une référence, et j'espère également que vous soutiendrez le site Web PHP chinois.
Pour plus d'articles sur le jugement des types de données js et le jugement des tableaux, veuillez faire attention au site Web PHP chinois !