Lorsque j'utilise la dernière version (1.0) de Coffee-Script, une sortie javascript simple ressemble à ceci (par défaut):
(function() {
var a;
a = 1;
}).call(this);
Qu'est-ce que .call (this) fait et quelle serait la raison de l'ajouter?
Lorsque j'utilise la dernière version (1.0) de Coffee-Script, une sortie javascript simple ressemble à ceci (par défaut):
(function() {
var a;
a = 1;
}).call(this);
Qu'est-ce que .call (this) fait et quelle serait la raison de l'ajouter?
C'est une façon de s'assurer que la compilation des CoffeeScript a son propre champ pour les noms de variables. Cela présente des avantages en termes d'efficacité et de simplicité (vous savez que vous le JavaScript généré de ne pas taper du pied sur les variables utilisées par un autre code). Vous pouvez le désactiver avec l' --bare
(ou -b
) option pour la CoffeeScript compilateur.
La raison de l' call(this)
, c'est juste pour s'assurer que la CoffeeScript a même this
comme le domaine dans lequel il est placé, parce que les fonctions ne sont normalement pas hériter de leur this
objet à partir du contexte.
C'est la création d'une fonction et l'appel à la fonction parent/objets de portée.
.appel et .appliquer les différentes méthodes de l'appel d'une fonction. En gros, vous avez créé une fonction qui ne fait rien à l'exception de définir un=1 à l'intérieur de son propre champ.
En javascript, vous devez réaliser que chaque fonction est un objet, et this
est ce qui fait référence à l'objet en cours/fonction. À l'aide de .call(this)
remplacements this
à partir de la fonction et le remplace par celui de le contexte de l'appel.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.