Maison > interface Web > js tutoriel > Utilisation de Object.prototype.toString en JavaScript pour déterminer s'il s'agit d'un tableau_javascript

Utilisation de Object.prototype.toString en JavaScript pour déterminer s'il s'agit d'un tableau_javascript

WBOY
Libérer: 2016-05-16 16:06:32
original
1237 Les gens l'ont consulté

Pourquoi utiliser Object.prototype.toString au lieu de Function.prototype.toString ou autres ? Ceci est lié à leur méthode d'interprétation toString. Voici l'explication de Object.prototype.toString dans ECMA :

Copier le code Le code est le suivant :

Objet.prototype.toString()

Lorsque la méthode toString est appelée, les étapes suivantes sont effectuées :
1. Obtenez la propriété [[Class]] de cet objet.
2. Calculez une valeur de chaîne en concaténant les trois chaînes « [objet », Résultat (1) et « ] ».
3. Retour du résultat (2)


Le processus est simplement le suivant : 1. Obtenez le nom de classe (type d'objet) de l'objet. 2. Combinez ensuite [objet, nom de classe obtenu] et revenez.
ECMA a la description suivante de Array :
Copier le code Le code est le suivant :

La propriété [[Class]] de l'objet nouvellement construit est définie sur « Array ».

On utilise donc le code suivant pour détecter le tableau :
Copier le code Le code est le suivant :

function isArray(o) { return Object.prototype.toString.call(o) === '[object Array]' }

Cette méthode résout non seulement le problème des instances de pages croisées, mais résout également le problème de la méthode de détection des attributs. C'est vraiment un coup et une bonne solution.
De plus, cette solution peut également être appliquée pour déterminer des objets de type Date, Fonction et autres.

Il existe plusieurs autres méthodes :
Copier le code Le code est le suivant :

var arr = []; return arr instanceof Array;
S'il existe d'autres bonnes méthodes, veuillez les publier.
Étiquettes associées:
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