我有一个代码片段包含在一个项目中,我想知道是否有一个目的是为什么它是这样编写的,或者我应该清理它。有一个我不知道的优化技巧吗?
这是(已清理的)代码段。注意a,b,c,d传入然后在函数中分配。
(function (a, b, c, d) {
a = '//url/to/js/file.js';
b = document; c = 'script'; d = b.createElement(c); d.src = a; d.type = 'text/java' + c; d.async = true;
a = b.getElementsByTagName(c)[0]; a.parentNode.insertBefore(d, a);
})();
在写完这个问题之后我找到了this answer。这是唯一的原因吗?
答案 0 :(得分:4)
这样,您可以创建一个本地范围的变量,而无需使用var
语句明确声明它。
IIRC它通常被代码缩写器使用。
答案 1 :(得分:-1)
只需在链接问题的答案中添加一些细节。有时使用某些API时,其功能将验证传递给它们的函数。有时,由于这个原因,如果他们声明了适当数量的参数,他们只会调用你自己的函数。