code.progysm.com

Function

Création de fonction:
	// définition
	function f() { }         // la fonction se nomme f (f.name == 'f')

	// expression
	var g = function() { }   // la fonction n'a pas de nom (g.name == '') mais peut être utiliser avec la variable g.

	// constructeur
	var h = new Function("") // la fonction n'a pas de nom (h.name == '') mais peut être utiliser avec la variable h.

	// création et exécution immédiate (IIFE)
		(function(){ }) // retourne undefined
		+function(){ }  // retourne le nombre NaN (+undefined devient NaN)
		!function(){ }  // retourne le booléen true (!undefined devient true)

Note sur la création:
	La définition de fonction avec la syntaxe function f() {} est lue avant toute chose dans une portée (scope) globale ou de fonction.
	Même si cette définition est à la dernière ligne, f() sera définie avant.

	L'expression de fonction comme g = function() {} est créé à la ligne même et ne peut pas être utilisé avant cette ligne.

Exécution:
	f()
	g()
	h()

Voir aussi:
	developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function