Il s'agit de construire une fonction anonyme, puis de passer la fonction elle-même en tant qu'argument à la fonction use
. Les use
appellera alors votre fonction anonyme avec une valeur, qui dans votre fonction sera appelée Y
qui contient les modules que vous avez demandés dans les arguments précédents à l'adresse suivante use
.
Ceci est essentiellement équivalent à ce qui suit, qui passe myFunction
en tant que rappel de YUI().use
sauf que la fonction anonyme n'a pas de nom :
function myFunction(Y) {
Y.Node.get('#demo');
}
YUI().use('node', myFunction);
Ce modèle est utilisé parce que JavaScript n'a pas de notion explicite d'espaces de noms ou de modules. Il est toutefois possible de les imiter en utilisant la portée d'une fonction comme une sorte d'espace de noms. Dans ce cas, YUI().use
construira un objet qui possède toutes les fonctionnalités que vous demandez, et transmettra cet objet à la fonction que vous fournissez, afin que vous puissiez utiliser cet objet. Y
pour appeler les méthodes que vous avez importées.
Pour une bonne référence en ligne sur la syntaxe et les méthodes JavaScript, j'aime utiliser le site Centre des développeurs Mozilla la documentation. En particulier, ils ont de bonnes références sur JavaScript et le DOM . Comme il fait partie du projet Mozilla, il se concentre sur les méthodes et la syntaxe supportées par Gecko (le moteur de rendu de Firefox), mais il inclut généralement des notes de compatibilité pour mentionner ce qui est portable et ce qui est spécifique à Gecko.
Pour répondre à votre question, je vous recommande de lire la documentation du MDC sur fonctions et champ d'application des fonctions . Malheureusement, le MDC n'apparaît généralement pas en tête de liste lors d'une recherche sur Google ; à la place, vous obtenez W3Schools, qui a tendance à être de moins bonne qualité et à contenir plus de publicités. J'ai constaté qu'il était utile de toujours faire précéder mes recherches sur tout ce qui concerne JavaScript ou le DOM par "mdc" afin d'obtenir la documentation du MDC ; ainsi, par exemple, pour trouver ce lien, j'ai fait une recherche sur fonction mdc et j'ai trouvé ce dont j'avais besoin.