J'ai remarqué qu'il ya deux facons de definir des fonctions en javascript.
1- Une variable contenant une fonction anonyme
var square = function(n){ return n*n; }
2-La methode habituelle
function square(n){ return n*n; }
Ce que j'aimerais savoir, c'est dans quel cas on utilise l'un ou l'autre?
En fait, pour laisser ça simple, la seconde façon, souvent la plus naturelle, déclare une fonction dans le contexte courant. Tandis que la première façon stock la variable dans une variable. On est souvent amené à l'utiliser pour créer des objets (même si on ne déclare pas forcément la variable). Si jamais tu utilises la seconde méthode dans le contexte global (window), tu devrais au même type que la première manière, avoir accès à cette dernière en faisant window.square
. Voici donc trois équivalents :
square = function(n){ return n*n; }
window.square = function(n){ return n*n; }
function square(n){ return n*n; }