Maison  >  Article  >  interface Web  >  Exemple d'écriture à l'aide d'un objet de commande au lieu des compétences switch Statement_Javascript

Exemple d'écriture à l'aide d'un objet de commande au lieu des compétences switch Statement_Javascript

WBOY
WBOYoriginal
2016-05-16 16:12:101452parcourir

Quelqu'un a dit un jour qu'un très bon programme n'avait pas de if..else. Bien sûr, switch n'est pas aussi bon que if..else. L'utilisation de switch est interdite dans la spécification JS.

L'objet commande résout parfaitement ce problème.

Citation d'un blog étranger :

JavaScript a de bonnes instructions de flux de contrôle, qui sont souvent placées entre accolades. Il existe une exception : l'instruction switch … case. La chose étrange à propos de switch ... case est que vous devez ajouter le mot-clé break à la fin de chaque case pour empêcher le contrôle de flux de passer à l'instruction case suivante. Le parcours fait référence à la méthode d'exécution de plusieurs cas. Lorsque la rupture attendue n'est pas rencontrée, le contrôle est automatiquement transféré au cas suivant. Cependant, tout comme les points-virgules et les accolades, vous pouvez par inadvertance oublier d'écrire break. Lorsque cela se produit, le dépannage ultérieur sera plus pénible car l'instruction elle-même est correcte. Par conséquent, c'est une bonne pratique d'écrire case... break par paires.
Nous disons généralement que JavaScript possède des littéraux d'objet élégants et des fonctions de niveau supérieur, qui rendent les requêtes de méthodes spécifiques très simples. Les objets créés pour les requêtes de méthode sont appelés objets d'action ou objets de commande et sont utilisés dans de nombreux modèles de conception de logiciels, y compris le modèle de commande puissant et utile.

Exemple :

Copier le code Le code est le suivant :

// changer de méthode
Fonction testSwitch(nom) {
changer (nom) {
cas '1' :
                    return 'hack' ;
                 pause ;
cas '2' :
                     return 'slash' ;
                 pause ;
cas '3' :
                    return 'run' ;
                 pause ;
                 par défaut :
                       return false ;
                 pause ;
>
>
//Utiliser l'objet de commande
Fonction testFn(nom) {
      noms de variables = {
              '1' : fonction() {
                    return 'hack' ;
            },
              '2' : fonction() {
                     return 'slash' ;
            },
              '3' : fonction() {
                    return 'run' ;
            }
        };
Si (type de noms[nom] !== 'fonction') {
              return false ;
>
          renvoie les noms[nom]();
>
// Résultats des tests
var résultat1 = testSwitch('1');
var résultat2 = testFn('2');
console.info(result1, result2);
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