Maison >interface Web >js tutoriel >Comment détecter les fonctions dans le développement Web

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

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

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

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"

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");
}

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!

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