Maison > interface Web > js tutoriel > Quand l'instruction \'with\' de JavaScript est-elle légitimement utilisée ?

Quand l'instruction \'with\' de JavaScript est-elle légitimement utilisée ?

Linda Hamilton
Libérer: 2024-11-22 07:24:10
original
625 Les gens l'ont consulté

When is JavaScript's

Exploration des utilisations légitimes de l'instruction « with » de JavaScript

Lors de l'utilisation de l'instruction « with », il est important de considérer à la fois ses avantages et son potentiel. inconvénients. Bien que cela puisse être utile dans certains scénarios, il est crucial de l'utiliser de manière responsable pour éviter un comportement inattendu.

Une utilisation légitime de "with" consiste à définir des variables dans la portée du bloc avant ES6. JavaScript n'étend pas naturellement les variables au bloc dans lequel elles sont définies, ce qui peut entraîner des problèmes lors de la déclaration de fermetures dans des boucles.

Par exemple, le code suivant sans l'instruction "with" partagera le même " num" variable sur plusieurs fonctions de délai d'attente :

for (var i = 0; i < 3; ++i) {
  var num = i;
  setTimeout(() => { alert(num); }, 10);
}
Copier après la connexion

Avec l'instruction "with", vous pouvez simuler la portée du bloc nécessaire pour isoler la variable "num" pour chaque timeout :

for (var i = 0; i < 3; ++i) {
  with ({num: i}) {
    setTimeout(() => { alert(num); }, 10);
  }
}
Copier après la connexion

Notez que cela n'affectera pas la portée des variables déclarées dans le bloc.

Une autre utilisation potentielle de "with" concerne l'organisation du code. Placer les membres d’objet fréquemment consultés dans la portée d’un bloc « with » peut rendre le code plus facile à lire et à maintenir. Cependant, il est important de l'utiliser avec parcimonie pour éviter d'éventuels problèmes de performances et un comportement inattendu.

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 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