Maison > interface Web > js tutoriel > Méthode JavaScript pour déterminer si une variable est un tableau (Array)_javascript skills

Méthode JavaScript pour déterminer si une variable est un tableau (Array)_javascript skills

WBOY
Libérer: 2016-05-16 15:14:00
original
1240 Les gens l'ont consulté

Aujourd'hui, l'éditeur compilera quelques connaissances pertinentes sur JavaScript pour déterminer si une variable est un tableau (Array). Le sujet sera développé à travers les quatre points suivants. Le contenu spécifique est le suivant :

1. Typeof est-il vraiment si puissant ? ?

//首先看代码
var ary = [1,23,4];
console.log(typeof ary); //输出结果是Object
Copier après la connexion

La méthode ci-dessus ne peut pas détecter en temps réel s'il s'agit d'un tableau, mais peut uniquement déterminer son type. Par conséquent, typeof est efficace pour juger les données de type de base, mais elle ne peut pas tester avec précision s'il s'agit d'un tableau (l'utilisation spécifique de. typeof sera mentionné plus tard), revenons maintenant au sujet)

2.instance de jugement

var ary = [1,23,4];
console.log(ary instanceof Array)//true;
Copier après la connexion

À en juger par l'effet de sortie, c'est tout à fait satisfaisant. Il peut détecter avec précision si le type de données est un tableau. Pensons d'abord aux défauts de cette méthode. 🎜>

3. Méthode de chaîne de prototypes

var ary = [1,23,4];
console.log(ary.__proto__.constructor==Array);//true
console.log(ary.constructor==Array)//true 这两段代码是一样的
Copier après la connexion
Cette méthode est tellement sophistiquée~~ Elle utilise la méthode de la chaîne de prototypes, mais celle-ci est compatible. Dans les premières versions d'IE, __proto__ n'est pas défini~ De plus, cela a encore des limites, résumons maintenant les limites des deuxième et troisième. méthodes

Résumer les limites des deuxième et troisième méthodes

Les variables jugées par instanceof et constructeur doivent être déclarées sur la page actuelle. Par exemple, une page (page parent) a un cadre, une page (page enfant) est référencée dans le cadre et un ary est déclaré dans le cadre. page enfant, et attribuez-la à une variable de la page parent, puis jugez la variable, Array == object.constructor; retournera false

Raison :

1. Le tableau est constitué de données de référence. Pendant le processus de transfert, il s'agit uniquement du transfert de l'adresse de référence.

2. L'adresse référencée par l'objet natif Array de chaque page est différente. Le constructeur correspondant du tableau déclaré dans la sous-page est l'objet Array de la sous-page ; Tableau Ce n'est pas égal au tableau de sous-pages ; rappelez-vous, sinon il sera difficile de suivre le problème !

4. Méthodes courantes

var ary = [1,23,4];
function isArray(o){
return Object.prototype.toString.call(o)=='[object Array]';
}
console.log(isArray(ary));
Copier après la connexion
Pour une utilisation spécifique de Object.prototype.toString, veuillez vous référer à

Utilisation de Object.prototype.toString

D'accord, je vais vous présenter beaucoup de choses sur la méthode JavaScript pour déterminer si une variable est un tableau (Array). Aujourd'hui, je vais principalement résumer ces quatre types pour vous. Si cet article n'est pas bien écrit, veuillez m'en donner quelques-uns. un conseil. Merci !

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