2015-06-30 200 views
0

我不知道爲什麼人們使用函數參數名稱的字母(我主要看到JS)。例如該函數:函數參數名稱JavaScript

function showMessage(e, t, i) { 
    var n = e.find(".admin-message"); 
    n.empty().removeClass("error success").addClass(i ? "success" : "error"); 
    if ($.isArray(t)) { 
     $.each(t, function(i,item) { 
      n.append(item+"<br>"); 
     }); 
    } else { 
     n.html(t + "</br>"); 
    } 
    n.fadeIn("fast") 
} 

這是簡短的例子,很容易記住,但我看到例如長得多fuctions六個參數(a,b,c,d,e,f,g)。爲什麼人們使用字母,而不是例如camelCase的名字?

+2

這看起來像縮小的代碼,它不是由一個人寫的。 – elclanrs

+0

...雖然機器會正確縮進代碼。 – Bergi

+0

好吧,編碼員很懶,只需要一個字母。一邊:他們是「參數」,而不是「參數」。 – dandavis

回答

2

他們縮小了代碼,因此當用戶進入網站時加載所需的時間更少。

您可以編寫一個正常功能,並嘗試用這個簡單的在線工具來縮小它:

http://jscompress.com/

它會變成這樣:

function fact(num){ 
    if(num<0) 
     return "Undefined"; 
    var fact=1; 
    for(var i=num;i>1;i--) 
    fact*=i; 
    return fact; 
} 

進入這個:

function fact(n){if(0>n)return"Undefined";for(var r=1,f=n;f>1;f--)r*=f;return r} 
0

Javascript通常(或應該)concantenated,uglified和縮小bef礦石被部署到生產中。

Concantenated - 所有源文件合併成一個代碼文件。 Uglified - 變量,參數和函數名稱被重寫,因此它們更短,更難以閱讀。 縮小 - 刪除所有冗餘空間字符。

以上所有3個動作都是爲了使源更小,因此加載速度更快(有時也與IoC配對)。 Uglification也是爲了「編碼」專有算法的目的而完成的,這使得逆向工程更加困難。

您發佈的內容可能是爲了縮小代碼文件的大小而被忽略的代碼,很可能不是手動完成的,而是作爲構建/分發過程的一部分。