Bonjour,

Il y a une syntaxe javascript que j'ai un peu de mal à comprendre, et qu'on retrouve par exemple dans le code de suivi asynchrone de Google Analytics :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
var _gaq=_gaq || [];
_gaq.push(['_trackPageview]);
 
(function() {
	console.log("analytics asynchrone function");
	var ga=document.createElement('script'); ga.type=text/javascript'; ga.async=true;
	ga.src=('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
	var s=document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
Il y a déclaration d'une fonction sans nom, encapsulées dans des parenthèses. Le code contenu à l'intérieur de la fonction est exécuté au chargement de la page (avant le DOM Ready).

Pourquoi dans ce cas, ne pas avoir écrit simplement :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
var _gaq=_gaq || [];
_gaq.push(['_trackPageview]);
 
console.log("analytics asynchrone function");
var ga=document.createElement('script'); ga.type=text/javascript'; ga.async=true;
ga.src=('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s=document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
?

Merci