|<- [[jsfn:Declaring functions]]|[[jsfn:Using functions as objects]] ->| === invoquer une fonction === On utiliser le terme invoquer (invoke), car certaines fonctions sont anonymes, n'ont pas de nom. On ne peut pas vraiment dire qu'on //appelle// quelque chose qui n'a pas de nom. Il existe quatre façons d'invoquer une fonction : - en temps que fonction : ma_fonction(a,b) -> invocation traditionnelle - en temps que méthode (en temps que propriété d'un objet) - en temps que constructeur - through Call & Apply methods Les deux premières sont les plus communes Elles reçoivent des paramètres additionnels : **arguments** et **this** - le paramètres **arguments** est utile lorsque l'on veut créer une fonction à laquelle on ne passe pas un nombre spécifique de paramètres. - la manière avec laquelle l'on invoque une fonction à un effet sur le paramètre **this** - invoquer une fonction stoppe current execution Dans le cas d'une invocation traditionnelle (en temps que fonction), **this** correspond à l'objet global (//global object//); function ma_fonction(a,b) { return ( console.log(a+b), console.log(this), // window object ! console.log(arguments) // [2,2] <- une liste ! ) } ==notes== **return** est aussi une fonction !