2011-06-25 3 views
3

Je lisais facebook javascript SDK quand j'ai vu le syntaxt suivant que je ne comprends pas: (function() {...}()); Est-ce que quelqu'un sait ce que ça fait?que fait-il? (fonction(){...}());

<div id="fb-root"></div> 
<script> 
    window.fbAsyncInit = function() { 
    FB.init({appId: 'your app id', status: true, cookie: true, 
      xfbml: true}); 
    }; 
    (function() { 
    var e = document.createElement('script'); e.async = true; 
    e.src = document.location.protocol + 
     '//connect.facebook.net/en_US/all.js'; 
    document.getElementById('fb-root').appendChild(e); 
    }()); 
</script> 
+1

duplication possible de [fonction javascript vs (function() {...}());] (http://stackoverflow.com/questions/4806150/javascript-function-vs-function) –

Répondre

11

c'est une fonction anonyme, qui est appelée immédiatement après sa déclaration. Il est utilisé pour créer des variables locales sans empiéter sur la portée globale. la variable e ne sera pas visible ni accessible en dehors du bloc fonctionnel

+0

qui a du sens! Je vous remercie. – AlexStack

+0

Et pourquoi ... oserais-je demander ... ne voudrions-nous pas que 'e' soit visible ou accessible? Est-ce un peu comme si un arbre tombe dans les bois? –