Maison >interface Web >js tutoriel >Comment puis-je définir une variable globale dans une fonction JavaScript ?

Comment puis-je définir une variable globale dans une fonction JavaScript ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-10 03:47:12676parcourir

How Can I Define a Global Variable Inside a JavaScript Function?

Comment définir une variable globale dans une fonction JavaScript

Introduction :

Les fonctions JavaScript fonctionnent dans leur propre portée locale , les séparant de la portée globale. Cependant, il devient parfois nécessaire d'accéder à des variables globales au sein des fonctions. Cet article explore les techniques pour y parvenir.

Définition de variables globales dans une fonction :

L'attribution directe d'une variable dans une fonction JavaScript sans le mot-clé "var" la déclare comme une variable globale. Il s'agit d'une approche héritée qui peut conduire à des conflits avec les variables globales existantes.

Approche moderne :

1. Utilisation de "globalThis":

Dans les navigateurs et environnements modernes, vous pouvez définir des variables globales à l'aide de l'objet "globalThis".

function foo() {
    globalThis.trailimage = [address, 50, 50];
}

2. Affectation à "window" (navigateur uniquement) :

Dans les navigateurs, l'objet "window" agit comme un objet global. Vous pouvez l'utiliser pour définir des variables globales dans des fonctions.

function foo() {
    window.trailimage = [address, 50, 50];
}

Bonnes pratiques :

  • Évitez les variables globales si possible : Ils encombrent la portée globale et créent des problèmes de maintenance.
  • Utilisez "const" ou "let" pour la variable déclaration : Les déclarations modernes garantissent que les variables ne sont pas réaffectées.
  • Envisagez d'utiliser des modules : Les modules créent des espaces de noms isolés, évitant ainsi les conflits de variables.
  • Utilisez une fonction wrapper comme solution de secours : Si les modules ne sont pas pris en charge, enveloppez votre code dans une fonction et déclarez les variables dans cette portée pour obtenir un résultat similaire effet.

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