在DOM树中插入外部JavaScript资源的位置是否重要?

在DOM树中插入外部JavaScript资源的位置是否重要?,javascript,Javascript,我正在阅读Facebook JS SDK官方脚本: <script> window.fbAsyncInit = function() { FB.init({ appId : 'your-app-id', xfbml : true, version : 'v2.8' }); FB.AppEvents.logPageView(); }; (function(d, s, id){

我正在阅读Facebook JS SDK官方脚本:

<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : 'your-app-id',
      xfbml      : true,
      version    : 'v2.8'
    });
    FB.AppEvents.logPageView();
  };

  (function(d, s, id){
     var js, fjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement(s); js.id = id;
     js.src = "//connect.facebook.net/en_US/sdk.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));
</script>
与:


它还能用吗?

是的,两者都能用,但是

fjs.parentNode.insertBefore(js, fjs); 
这将在所有JS文件和另一端之前插入JS

document.head.appendChild(js);

这将在头中的所有JS之后插入

是的,两者都可以,但是

fjs.parentNode.insertBefore(js, fjs); 
这将在所有JS文件和另一端之前插入JS

document.head.appendChild(js);

这将在头中的所有JS之后插入

应该还能用,是的。但除非你有真正的理由这么做,否则我建议不要改变Facebook提供的代码。应该仍然有效,是的。但除非你有真正的理由,否则我建议不要改变Facebook提供的代码。插入其中一个位置与另一个位置会导致行为上的差异,如果有的话?插入其中一个位置与另一个位置会导致行为上的差异,如果有的话?