Maison > interface Web > js tutoriel > Quand et pourquoi devriez-vous utiliser l'instruction \'with\' de JavaScript ?

Quand et pourquoi devriez-vous utiliser l'instruction \'with\' de JavaScript ?

Linda Hamilton
Libérer: 2024-11-24 08:16:10
original
542 Les gens l'ont consulté

When and Why Should You Use JavaScript's

Dévoilement des avantages potentiels de la déclaration « with » de JavaScript au-delà de ses pièges

La déclaration « with » de JavaScript, souvent considérée avec scepticisme, offre applications pratiques lorsqu’ils sont utilisés avec soin. Comme le démontrent les commentaires perspicaces d'Alan Storm, explorons les cas où « with » prouve sa valeur.

Création de variables à portée de bloc

Avant l'introduction de « let » dans ES6, JavaScript manquait de véritable portée de bloc. Cet obstacle pourrait entraîner des collisions de variables inattendues dans les boucles, comme dans le code suivant :

1

2

3

4

for (var i=0; i<3; ++i) {

   var num = i;

   setTimeout(function() { alert(num); }, 10);

}

Copier après la connexion

En utilisant "with", cependant, nous pouvons simuler efficacement la portée du bloc :

1

2

3

4

5

for (var i=0; i<3; ++i) {

   with ({num: i}) {

      setTimeout(function() { alert(num); }, 10);

   }

}

Copier après la connexion

Ici, chaque itération de la boucle a sa propre variable discrète "num", résolvant le problème des conflits de variables.

Autre Cas d'utilisation légitimes

Au-delà de son potentiel de limitation de la portée des blocs, l'instruction « with » trouve son utilité dans diverses situations :

  • Simplification de l'accès aux objets : "avec" permet d'accéder de manière concise aux objets imbriqués propriétés :

    1

    2

    3

    with(obj) {

     console.log(name + " is " + age + " years old.");

    }

    Copier après la connexion
  • Gestion des variables d'instance privées : L'encapsulation peut être améliorée à l'aide de "with" pour créer des variables d'instance pseudo-privées dans les objets :

    1

    2

    3

    4

    5

    6

    function Person(name, age) {

     with(this) {

        this.name = name;

        this.age = age;

     }

    }

    Copier après la connexion

Il est crucial de souligner que « avec » doit être utilisé judicieusement, car son potentiel les inconvénients peuvent être importants. En l’employant avec parcimonie et en comprenant clairement ses implications, on garantit que ses avantages l’emportent sur ses risques. En adoptant ces cas d'utilisation légitimes, les développeurs peuvent exploiter la puissance du « avec » en JavaScript tout en atténuant ses pièges.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal