2013-05-09 103 views
5

我有一個代碼片段包含在一個項目中,我想知道是否有目的爲什麼它是這樣寫的,或者如果我應該清理它。有沒有我不知道的優化技巧?函數中覆蓋的JavaScript參數的用途是什麼?

下面是(消毒)代碼片段。注意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寫完這個問題後。這是唯一的原因嗎?

回答

4

通過這種方式,您可以創建一個局部作用域變量,而無需使用var語句明確聲明它。

IIRC它是代碼縮減器常用的。

-1

只需在鏈接問題的答案中添加一點細節即可。有時在使用某些API時,其功能會驗證傳遞給它們的函數。有時,由於這個原因,如果他們聲明瞭適量的參數,他們只會調用你自己的函數。