我的查询用于"(function(){...})();" 鉴于我不是插件.例如" http://piecesofrakesh.blogspot.com/2009/03/downloading-javascript-files-in.html "
(function() {
var s = [
"/javascripts/script1.js",
"/javascripts/script2.js"
];
var sc = "script", tp = "text/javascript", sa = "setAttribute", doc = document, ua = window.navigator.userAgent;
for(var i=0, l=s.length; i<l; ++i) {
if(ua.indexOf("MSIE")!==-1 || ua.indexOf("WebKit")!==-1) {
doc.writeln("<" + sc + " type=\"" + tp + "\" src=\"" + s[i] +
"\" defer></" + sc + ">");
} else {
var t=doc.createElement(sc);
t[sa]("src", s[i]);
t[sa]("type", tp);
doc.getElementsByTagName("head")[0].appendChild(t);
}
}
})();
Run Code Online (Sandbox Code Playgroud)
要么
var s = [
"/javascripts/script1.js",
"/javascripts/script2.js"
];
...
Run Code Online (Sandbox Code Playgroud)
谢谢.
rix*_*rrr 24
这样做是为了避免命名冲突.
声明函数时,该函数有自己的变量名称空间.通过将代码包装在立即调用的函数中,可以避免使用自己的值覆盖全局变量.
在这种情况下s,sc并分配一个值.如果您在全局范围内执行此操作,并且其他脚本已将这些名称的变量用于不同目的,则会导致其他脚本失败.通过引入新的范围,标识符s和sc现在所说的不是命名变量的不同(本地绑定)变量s和sc,在全球范围存在.
| 归档时间: |
|
| 查看次数: |
455 次 |
| 最近记录: |