我的查询用于"(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" + sc + ">"); } else { var t=doc.createElement(sc); t[sa]("src", s[i]); t[sa]("type", tp); doc.getElementsByTagName("head")[0].appendChild(t); } } })();
要么
var s = [ "/javascripts/script1.js", "/javascripts/script2.js" ]; ...
谢谢.
这样做是为了避免命名冲突.
声明函数时,该函数有自己的变量名称空间.通过将代码包装在立即调用的函数中,可以避免使用自己的值覆盖全局变量.
在这种情况下s
,sc
并分配一个值.如果您在全局范围内执行此操作,并且其他脚本已将这些名称的变量用于不同目的,则会导致其他脚本失败.通过引入新的范围,标识符s
和sc
现在所说的不是命名变量的不同(本地绑定)变量s
和sc
,在全球范围存在.
也许这些问题会帮助你:
(function(){})()之间的区别; 和function(){}();
围绕JavaScript对象|| function || class声明的括号是什么意思?
Javascript:var functionName = function(){} vs function functionName(){}