它有什么作用?(功能(){...}());

Ale*_*ack 3 javascript facebook

当我看到以下我不理解的语法时,我正在阅读facebook javascript SDK:(function(){...}()); 有谁知道它做了什么?

<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>
Run Code Online (Sandbox Code Playgroud)

kni*_*ttl 11

它是一个匿名函数,在声明后立即被调用.它用于创建局部变量而不会破坏全局范围.该变量e在功能块外部不可见,也不可访问