2012-01-31 86 views
2

我试图围绕使用异步脚本加载程序(head.js,yepnope等)的一个特殊的细微之处。我有一个页面设置像这样:使用脚本加载程序注入脚本访问全局变量

<body> 
    <script type="text/javascript" scr="yepnope.js"></script> 
    <script type="text/javascript"> 
     var important_stuff = { "key" : "value", "another key" : "value"}; 
     yepnope([ 
      { load: "some/script.js" }, 
      { load: "another/script.js" } 
     ]); 
    </script> 
</body> 

当我检查结果HTML该页面在Firebug我注意到,yepnope注入了<script>标签为我的两个脚本自己的标签上面。我的问题是:使用yepnope加载的2个脚本是否可以访问全局变量important_stuff,即使它们被注入到上面定义的位置?谢谢。

回答

2

所有的全局变量都是全局变量。一旦它被加载和定义,它就可以用于当时存在的所有东西或所有以后加载的东西。所以,它只是重要的加载顺序,而不是插入脚本标签的位置。

如果两个动态加载的脚本在定义全局变量后被顺序加载,那么无论脚本标记的顺序如何,它们都可以访问全局变量。

+0

感谢您的快速和翔实的回应。我很感激。 – 2012-01-31 05:25:41