Maison interface Web js tutoriel Méthode JavaScript pour déterminer si une variable est un objet ou un tableau_javascript skills

Méthode JavaScript pour déterminer si une variable est un objet ou un tableau_javascript skills

May 16, 2016 pm 04:38 PM
javascript 判断变量 对象 数组

typeof renvoie un objet

Tous les types de données en JavaScript sont des objets au sens strict, mais dans la réalité, nous avons toujours des types. Si vous souhaitez déterminer si une variable est un tableau ou un objet, vous ne pouvez pas utiliser typeof car tout renvoie un objet.

Copier le code Le code est le suivant :

var o = { 'nom':'lee' };
var a = ['reg','bleu'];

document.write( 'o typeof est ' typeof o);
document.write( ' <br />');
document.write( ' un type de est ' type de a);

Exécution :
Copier le code Le code est le suivant :

o typeof est un objet
un type de est un objet

Par conséquent, nous ne pouvons qu'abandonner cette méthode. Il existe deux façons de déterminer s'il s'agit d'un tableau ou d'un objet

Tout d'abord, utilisez l'attribut typeof plus length

Le tableau a un attribut de longueur, pas l'objet, et le type de tableau et d'objet renvoient tous deux un objet, nous pouvons donc juger de cette façon

Copier le code Le code est le suivant :

var o = { 'nom':'lee' };
var a = ['reg','bleu'];

var getDataType = fonction(o){
Si(typeof o == 'objet'){
Si( typeof o.length == 'number' ){
               return 'Array'
         }autre{
                  renvoie 'Objet' ;                                              >
}autre{
          return 'le paramètre n'est pas un type d'objet' ;
>
};

alert( getDataType(o) ); // Objet
alert( getDataType(a) ); // Tableau
alert( getDataType(1) ); // le paramètre n'est pas un type d'objet
alert( getDataType(true) ); // le paramètre n'est pas un type d'objet
alert( getDataType('a') ); // le paramètre n'est pas un type d'objet

Deuxièmement, utilisez instanceof

Utilisez instanceof pour déterminer si une variable est un tableau, tel que :


Copier le code Le code est le suivant :
var o = { 'nom':'lee' };
var a = ['reg','bleu'];

alert( une instance de Array ); // true
alert( ou instanceof Array ); // false

Vous pouvez également déterminer s'il appartient à un objet

Copier le code Le code est le suivant :
var o = { 'nom':'lee' };
var a = ['reg','bleu'];

alert( une instance d'Object ); // true
alert( ou instanceof Object ); // true

Mais les tableaux appartiennent également à des objets, donc les deux éléments ci-dessus sont vrais. Par conséquent, lorsque nous utilisons instanceof pour déterminer si le type de données est un objet ou un tableau, nous devons d'abord déterminer le tableau, et enfin déterminer l'objet
.
Copier le code Le code est le suivant :
var o = { 'nom':'lee' };
var a = ['reg','bleu'];

var getDataType = fonction(o){
Si (o instance de Array) {
         renvoie 'Tableau'
}else if( o instanceof Object ){
         return 'Objet' ;
}autre{
          return 'le paramètre n'est pas un type d'objet' ;
>
};

alert( getDataType(o) ); // Objet
alert( getDataType(a) ); // Tableau
alert( getDataType(1) ); // le paramètre n'est pas un type d'objet
alert( getDataType(true) ); // le paramètre n'est pas un type d'objet
alert( getDataType('a') ); // le paramètre n'est pas un type d'objet


Si vous ne jugez pas Array en premier, par exemple :
Copier le code Le code est le suivant :

var o = { 'nom':'lee' };
var a = ['reg','bleu'];

var getDataType = fonction(o){
Si (o instance d'objet) {
         renvoyer 'Objet'
}else if( ou instanceof Array ){
         return 'Array' ;
}autre{
          return 'le paramètre n'est pas un type d'objet' ;
>
};

alert( getDataType(o) ); // Objet
alert( getDataType(a) ); // Objet
alert( getDataType(1) ); // le paramètre n'est pas un type d'objet
alert( getDataType(true) ); // le paramètre n'est pas un type d'objet
alert( getDataType('a') ); // le paramètre n'est pas un type d'objet

Ensuite, le tableau sera également jugé comme objet.
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

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment supprimer les éléments en double du tableau PHP à l'aide de la boucle foreach ? Comment supprimer les éléments en double du tableau PHP à l'aide de la boucle foreach ? Apr 27, 2024 am 11:33 AM

Comment supprimer les éléments en double du tableau PHP à l'aide de la boucle foreach ?

Comment convertir le tableau de résultats d'une requête MySQL en objet ? Comment convertir le tableau de résultats d'une requête MySQL en objet ? Apr 29, 2024 pm 01:09 PM

Comment convertir le tableau de résultats d'une requête MySQL en objet ?

Inversion des valeurs clés du tableau PHP : analyse comparative des performances de différentes méthodes Inversion des valeurs clés du tableau PHP : analyse comparative des performances de différentes méthodes May 03, 2024 pm 09:03 PM

Inversion des valeurs clés du tableau PHP : analyse comparative des performances de différentes méthodes

Pratique du tri multidimensionnel des tableaux PHP : des scénarios simples aux scénarios complexes Pratique du tri multidimensionnel des tableaux PHP : des scénarios simples aux scénarios complexes Apr 29, 2024 pm 09:12 PM

Pratique du tri multidimensionnel des tableaux PHP : des scénarios simples aux scénarios complexes

L'art de PHP Array Deep Copy : utiliser différentes méthodes pour obtenir une copie parfaite L'art de PHP Array Deep Copy : utiliser différentes méthodes pour obtenir une copie parfaite May 01, 2024 pm 12:30 PM

L'art de PHP Array Deep Copy : utiliser différentes méthodes pour obtenir une copie parfaite

Application de la fonction de regroupement de tableaux PHP dans le tri des données Application de la fonction de regroupement de tableaux PHP dans le tri des données May 04, 2024 pm 01:03 PM

Application de la fonction de regroupement de tableaux PHP dans le tri des données

Quelle est la différence entre les tableaux et les objets en PHP ? Quelle est la différence entre les tableaux et les objets en PHP ? Apr 29, 2024 pm 02:39 PM

Quelle est la différence entre les tableaux et les objets en PHP ?

Meilleures pratiques pour la copie approfondie des tableaux PHP : découvrez des méthodes efficaces Meilleures pratiques pour la copie approfondie des tableaux PHP : découvrez des méthodes efficaces Apr 30, 2024 pm 03:42 PM

Meilleures pratiques pour la copie approfondie des tableaux PHP : découvrez des méthodes efficaces

See all articles