Maison  >  Article  >  interface Web  >  Comment détecter des tableaux dans le développement Web

Comment détecter des tableaux dans le développement Web

php中世界最好的语言
php中世界最好的语言original
2018-06-04 10:20:271330parcourir

Cette fois, je vais vous montrer comment détecter les tableaux en développement web, et quelles sont les précautions pour détecter les tableaux en développement web, voici des cas pratiques, jetons un coup d'oeil.

L'un des problèmes inter-domaines les plus anciens de JS est le passage de tableaux entre les images. Les développeurs ont rapidement découvert que instanceof Array ne renvoyait pas toujours les bons résultats dans ce scénario. Comme mentionné ci-dessus, chaque frame a son propre constructeur Array, donc les instances d'une frame ne seront pas reconnues dans une autre frame. Douglas Crockford a d'abord recommandé l'utilisation de l'interface « duck typing » (duck typing) était un concept proposé pour la première fois par l'écrivain James Whitcomb Riley, c'est-à-dire « un oiseau qui marche, nage et cancane comme un canard. un canard. » Essentiellement, concentrez-vous sur « ce que l’objet peut faire » plutôt que sur « ce qu’est l’objet ».

// 采用鸭式辨型的方法检测数组function isArray(value) {  return typeof value.sort === "function";
}

Cette méthode de détection repose sur le fait que les tableaux sont les seuls objets qui contiennent une méthode sort(). Bien entendu, si le paramètre passé dans isArray() est un objet contenant la méthode sort(), il retournera également true.

De nombreuses recherches ont été menées sur la façon de détecter les types de tableaux dans JS, et finalement, Juriy Zaytsev (également connu sous le nom de Kangax) a proposé une solution élégante.

function isArray(value) {  return Object.prototype.toString.call(value) === "[object Array]";
}

Kangax a découvert que l'appel de la méthode toString() intégrée sur une valeur renvoie le résultat string standard dans tous les navigateurs. Pour les tableaux, la chaîne renvoyée est "[object Array]", quel que soit le cadre dans lequel l'instance du tableau a été construite. La solution proposée par Kangax est rapidement devenue populaire et a été adoptée par la plupart des bibliothèques de classes JS.

Cette méthode est souvent très utile lors de l'identification d'objets intégrés, mais veuillez ne pas utiliser cette méthode pour des objets personnalisés. Par exemple, l'utilisation de cette méthode avec l'objet JSON intégré renverra « [objet JSON] ».

Depuis, ECMAScript5 a officiellement introduit Array.isArray() dans JS. Le seul objectif est de détecter avec précision si une valeur est un tableau. Comme la fonction de Kangax, Array.isArray() peut également détecter les valeurs transmises à travers les images, c'est pourquoi de nombreuses bibliothèques JS implémentent actuellement cette méthode de la même manière.

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez faire attention au site Web php chinois Autres articles liés !

Lecture recommandée :

Quelles sont les règles de traitement des événements dans le développement Web

Pourquoi devez-vous éviter d'utiliser des variables globales dans le Web développement

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