J'ai récemment travaillé sur un projet qui impliquait le traitement du jugement js des types de données. J'ai recherché des informations pertinentes sur Internet et j'ai personnellement testé le jugement de différents types de données. Ci-dessous, l'éditeur partagera avec vous un résumé du contenu spécifique pour votre référence !
1. Types de données en JS
1. Type numérique (Nombre) : y compris les entiers et les nombres à virgule flottante.
2. Booléen
3. Chaîne
4. Objet
5. Tableau
6. Null
7. Non défini
2. Déterminer le type de données d'une variable
1. . Type numérique (nombre)
La méthode de jugement la plus couramment utilisée est :
function isNumber(val){ return typeof val === 'number'; }
Mais cela ne fonctionne pas dans certains cas. , tel que :
var a; alert(isNumber(parseInt(a)));
Ce qui apparaît ici est vrai, comme le montre la figure ci-dessous :
Mais en fait la variable a est NaN , qui ne peut pas être utilisé pour les opérations numériques.
Ainsi, la fonction ci-dessus peut être modifiée comme :
function isNumber(val){ return typeof val === 'number' && isFinite(val); }
Après modification, false apparaîtra, comme le montre la figure ci-dessous :
Au fait, permettez-moi de vous présenter la fonction JavaScript isFinite(). La fonction isFinite() est utilisée pour vérifier si son paramètre est l'infini si le nombre est un nombre fini (ou peut être converti en un nombre fini. nombre), alors il renvoie vrai. Sinon, si number est NaN (pas un nombre) ou un nombre infini positif ou négatif, false est renvoyé.
2. Booléen
Le jugement de type booléen est relativement simple et peut être jugé par la méthode suivante :
/* 判断变量val是不是布尔类型 */ function isBooleanType(val) { return typeof val ==="boolean"; }
Code de test :
Résultat de l'exécution :
3. String (String)
Détermination du type de chaîne C'est relativement simple . Vous pouvez utiliser la méthode suivante pour juger :
/* 判断变量是不是字符串类型 */ function isStringType(val) { return typeof val === "string"; }
4.Indéfini (Indéfini)
Le jugement d'indéfini est relativement simple. et peut être jugé par la méthode suivante :
Code de test :
Résultat d'exécution :
/* 判断变量是不是Undefined */ function isUndefined(val) { return typeof val === "undefined"; }
5. Object (Object)
Puisque la variable est une valeur nulle Lorsque Null est utilisé, typeof renverra également un objet, donc Object ne peut pas être jugé directement à l'aide de typeof.
devrait ressembler à ceci :
Code du test :
function isObj(str){ if(str === null || typeof str === 'undefined'){ return false; } return typeof str === 'object'; }
6. Null
Pour juger la valeur nulle, utilisez val === null
Code de test :
function isNull(val){ return val === null; }
Résultat d'exécution :
/* 判断变量是不是null */ function isNull(val){ return val === null; } /*测试变量*/ var a; var b = null; var c = "str"; //弹出运行结果 alert("变量a是null的判断结果是:"+isNull(a));//false alert("变量b是null类型的判断结果是:"+isNull(b));//true alert("变量c是null类型的判断结果是:"+isNull(c));//false
Array
Le type de tableau ne peut pas être déterminé par typeof. Parce que lorsque la variable est de type tableau, typeof renverra un objet.
Il existe deux façons de déterminer le type de tableau :
Code de test :
/*判断变量arr是不是数组 方法一 */ function isArray(arr) { return Object.prototype.toString.apply(arr) === '[object Array]'; } /*判断变量arr是不是数组 方法二 */ function isArray(arr) { if(arr === null || typeof arr === 'undefined'){ return false; } return arr.constructor === Array; }
Résultat d'exécution :
Le contenu ci-dessus est le résumé des points de connaissances JavaScript introduits par l'éditeur (6) JavaScript Jugement J'espère que ces connaissances sur les types de données variables vous seront utiles. Si vous voulez en savoir plus, faites attention au site Web PHP chinois !