Maison > interface Web > js tutoriel > le corps du texte

Comment détecter les fonctions dans le développement Web

php中世界最好的语言
Libérer: 2018-06-04 10:48:55
original
1324 Les gens l'ont consulté

Cette fois, je vais vous montrer comment détecter les fonctions en développement web. Quelles sont les précautions pour détecter les fonctions en développement web. Voici des cas pratiques, jetons un coup d'œil.

Techniquement parlant, les fonctions en JS sont des types de référence. Il existe également un constructeur Function, et chaque fonction en est une instance, telle que :

function myFunc () {}// 不好的写法console.log(myFunc instanceof Function); // true// 好的写法console.log(typeof myFunc === 'function'); // true
Copier après la connexion

Cependant, cette méthode ne peut pas être utilisée sur plusieurs images car chaque image possède son propre constructeur de fonction. Heureusement, le typeofoperator peut également être utilisé pour les fonctions, renvoyant "function". La meilleure façon de détecter les fonctions est d'utiliser typeof car il peut être utilisé sur plusieurs images.

Il existe une limitation dans l'utilisation de typeof pour détecter les fonctions. Dans IE8 et les versions antérieures du navigateur IE, utilisez typeof pour détecter les fonctions dans les nœuds DOM (tels que document.getElementById()) renvoient toutes un "objet" à la place. de « fonction ». Par exemple :

// IE 8及其更早版本的IEconsole.log(typeof document.getElementById); // "object"console.log(typeof document.createElement); // "object"console.log(typeof document.getElementByTagName); // "object"
Copier après la connexion

La raison pour laquelle ce phénomène étrange se produit est que les navigateurs ont des implémentations différentes du DOM. En bref, ces premières versions d'IE n'implémentaient pas le DOM en tant que méthodes JS intégrées, ce qui obligeait l'opérateur typeof intégré à reconnaître ces fonctions en tant qu'objets. Parce que DOM est clairement défini, sachant que si un membre d'objet existe, cela signifie qu'il s'agit d'une méthode. Les développeurs utilisent souvent l'opérateur in pour détecter les méthodes DOM, telles que :

// 检测DOM方法if ("querySelectorAll" in document) {
  images = document.querySelectorAll("img");
}
Copier après la connexion

Ce code vérifie si querySelectorAll est. défini dans le document, si c'est le cas, utilisez cette méthode. Bien que ce ne soit pas la méthode la plus idéale, il s’agit de l’approche la plus sûre si vous souhaitez détecter la présence de méthodes DOM dans IE8 et les navigateurs antérieurs. Dans tous les autres cas, l'opérateur typeof est le meilleur choix pour détecter les fonctions JS.

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 prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Comment détecter les valeurs originales dans le développement Web

Comment éviter la comparaison nulle dans le développement Web

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!

É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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!