Maison >interface Web >js tutoriel >Comment définir des variables globales dans CoffeeScript ?

Comment définir des variables globales dans CoffeeScript ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-30 05:39:10490parcourir

How do you Define Global Variables in CoffeeScript?

Définition de variables globales dans CoffeeScript

Dans CoffeeScript, l'absence d'une instruction var dédiée signifie que toutes les variables sont implicitement déclarées comme locales. Cela évite les fuites accidentelles dans l'espace de noms global lors de la compilation vers JavaScript.

Pour définir des variables globales, vous devez les attribuer en tant que propriétés à l'objet global.

Environnement du navigateur : « Attachement à la fenêtre »

Dans le navigateur, l'objet global est l'objet window. Pour créer une variable globale nommée foo, vous écrivez :

window.foo = 'baz'

Environnement Node.js : 'Attaching to Exports'

Dans Node.js, l'objet global n'est pas disponible sous forme de fenêtre . Au lieu de cela, vous devez attribuer des variables globales à l'objet d'exportation :

exports.foo = 'baz'

Cibler à la fois CommonJS et les navigateurs

La documentation CoffeeScript suggère d'utiliser la variable racine pour déterminer l'objet global approprié selon que les exportations est défini (ce qui est le cas dans Node.js) ou non (ce qui implique un environnement de navigateur) :

root = exports ? this
root.foo = 'baz'

Cette expression ternaire attribue root aux exports si les exports sont définis, et à cela (le contexte global dans Node.js, ou la fenêtre dans le navigateur) sinon.

Exemple : Déclarer une fonction globale dans CoffeeScript

root = exports ? this
root.foo = -> 'Hello World'

Ce code déclare une fonction globale nommée foo dans l'objet global Node.js (via les exportations) ou le navigateur (via la fenêtre).

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