Maison > interface Web > js tutoriel > Introduction à l'idée de la fonction paresseuse de js

Introduction à l'idée de la fonction paresseuse de js

不言
Libérer: 2020-02-27 14:31:42
avant
2573 Les gens l'ont consulté

La fonction paresseuse est une autre application de la programmation fonctionnelle js. La fonction paresseuse signifie que la branche d'exécution de la fonction ne sera exécutée que lorsque la fonction est appelée pour la première fois. Cet article présentera l'idée de la fonction paresseuse js. à tout le monde. J'espère que cela sera utile à tout le monde.

Introduction à l'idée de la fonction paresseuse de js

Avant que vue, réagis et d'autres frameworks soient largement utilisés, nous devons utiliser jQuery ou natif js pour faire fonctionner dom et écrire du code. Lorsque nous utilisons natif js pour la liaison d'événements, nous. can La méthode pour appliquer les événements de liaison au niveau DOM2 est : element.addEventListener() Pour des raisons de compatibilité, il existe également :

element.attachEvent(). Nous devons donc l'encapsuler dans une méthode :

function emit(element, type, func) {
    if (element.addEventListener) {
        element.addEventListener(type, func, false);
    } else if (element.attachEvent) {
        element.attachEvent('on' + type, func);
    } else { //如果不支持DOM2级事件
        element['on' + type] = func;
    }
}
Copier après la connexion

À ce stade, si un élément doit ajouter plusieurs événements de clic via un seul comportement, tel que :

emit(div, 'click', fn1);
emit(div, 'click', fn2);
Copier après la connexion

pour le première fois au div Lors de la liaison de l'événement fn1, vous savez déjà quelle méthode de liaison le navigateur peut effectuer. Lors de la liaison de fn2, il n'est pas nécessaire de juger à nouveau, alors le code peut être modifié :

function emit(element, type, func) {
    if (element.addEventListener) {
        emit = function (element, type, func) {
            element.addEventListener(type, func, false);
        };
    } else if (element.attachEvent) {
        emit = function (element, type, func) {
            element.attachEvent('on' + type, func);
        };
    } else {
        emit = function (element, type, func) {
            element['on' + type] = func;
        };
    }
    emit(element, type, func);
}
Copier après la connexion

. En d'autres termes, nous redéfinissons la fonction après le premier jugement, de sorte qu'aucun jugement ne soit nécessaire lors d'une liaison ultérieure. Du point de vue des performances, même si une fermeture est créée, c'est mieux que d'exécuter la même fonction plusieurs fois par la suite.

C'est l'idée paresseuse des fonctions Pour un même jugement, il suffit de le faire une seule fois.

Cet article provient de la rubrique tutoriel js, bienvenue pour apprendre !

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:
js
source:cnblogs.com
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