Maison  >  Article  >  interface Web  >  Explication détaillée de plusieurs façons de détecter les types de données en JavaScript

Explication détaillée de plusieurs façons de détecter les types de données en JavaScript

黄舟
黄舟original
2017-03-23 14:43:401208parcourir

Dans le processus de programmation avec javaScript, nous rencontrons souvent un tel problème, c'est-à-dire que nous devons détecter le type d'une donnée ou d'une variable . Cet article Cet article présente principalement un résumé de plusieurs façons de détecter le type de données en javaScript. Ceux qui sont intéressés peuvent en savoir plus.

Dans le processus de programmation avec javaScript, nous rencontrons souvent un tel problème, c'est-à-dire que nous devons détecter le type d'une donnée ou d'une variable. Alors, quelles méthodes nous sont fournies en javaScript ? Il y a beaucoup de codes qui circulent sur Internet, mais j'ai trouvé que certains d'entre eux étaient erronés, j'ai donc simplement utilisé chaque méthode moi-même. Aujourd'hui, je l'ai spécialement trié pour référence future.

1. détection de type de

typeof est un opérateur unaire , syntaxe : typeof ( opérande), l’opérande peut être de n’importe quel type. Sa valeur de retour est une string qui spécifie le type de l'opérande.

// var arr = { name:"john"}; // object
  // var arr = ["语文","数学"]; // object
  // function Person() {};  // typeof(Person) => function
  // var arr = '我是字符串' ; // string
  // var arr = 66 ;    // number
  // var arr = true ;   // boolean
  // var arr = new Person(); // object
  // var arr = undefined;  // undefined
  // var arr = null;   // object
  // var arr = /^\d{5,20}$/; // object
  // console.log( typeof(arr) );

2. instanceof détecte si un objet est un autre objet. Des instances de peuvent être utilisées dans la relation
héritage

pour déterminer si un l'instance appartient à son type parent.

3. Détection Object.prototype.toString.call

// var arr = '我是字符串' ;     // console.log( arr instanceof String ) => false
    // var arr = 66 ;         // console.log( arr instanceof Number ) =>false
    // var arr = true ;        // console.log( arr instanceof Boolean ) =>false
    // var arr = ["语文","数学"];   // console.log( arr instanceof Array ) =>true
    // var arr = { name:"john"};    // console.log( arr instanceof Object ) =>true
    // var arr = function Person(){}; //console.log(arr instanceof Function)=>true
    // var arr = undefined;      // console.log(arr instanceof Object)=>false
    // var arr = null;        // console.log(arr instanceof Object)=>false
    // var arr = /^\d{5,20}$/;    // console.log(arr instanceof RegExp)=>true

Utilisez la méthode native toString() sur Object.prototype pour déterminer le type de données, la méthode d'utilisation est la suivante : Object.prototype.toString.call(value)

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!

Déclaration:
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