2013-06-20 18 views
2
(function (a) { 
    var r = a.fn.domManip, 
     d = "_tmplitem", 
     q = /^[^<]*(<[\w\W]+>)[^>]*$|\{\{\! /, 
     b = {}, f = {}, e, p = { 
      key: 0, 
      data: {} 
     }, h = 0, 
     c = 0, 
     l = []; 

    function g(e, d, g, i) { 
     var c = { 
      data: i || (d ? d.data : {}), 
      _wrap: d ? d._wrap : null, 
      tmpl: null, 
      parent: d || null, 
      nodes: [], 
      calls: u, 
      nest: w, 
      wrap: x, 
      html: v, 
      update: t 
     }; 
     e && a.extend(c, e, { 
      nodes: [], 
      parent: d 
     }); 
     if (g) { 
      c.tmpl = g; 
      c._ctnt = c._ctnt || c.tmpl(a, c); 
      c.key = ++h; 
      (l.length ? f : b)[h] = c 
     } 
     return c 
    } 
    a.each({ 
     appendTo: "append", 
     prependTo: "prepend", 
     insertBefore: "before", 
     insertAfter: "after", 
     replaceAll: "replaceWith"... 

問:爲什麼在js中使用字母作爲函數名和參數?

上面的代碼是從http://ajax.aspnetcdn.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js拍攝。

這裏使用了許多字母(a,b,c ...)。我也看到其他js文件也使用這種方式。所以我只是想知道這背後的原因是什麼?使用字母作爲函數名稱,參數和變量來節省內存或爲了什麼?

+2

這就是所謂的縮小。這就是爲什麼他們稱之爲'min.js' – jantimon

+0

因爲你看到的是* min *版本。閱讀這一個http://ajax.aspnetcdn.com/ajax/jquery.templates/beta1/jquery.tmpl.js – neuront

回答

1

這是一個縮小版本的代碼。這意味着函數名稱和參數在字符串長度中縮短以保留文件大小。

流行的jQuery庫也一樣。例如,比較兩個版本,minifiedunminified版本。

+0

很高興知道它。所以如果我看到一個縮小版本,我可以使用哪個工具將其恢復到原始版本? – user2294256

+0

我經常使用此工具> http://jscompress.com/,並結合服務器上的gzip壓縮。 – BenM

+0

有沒有解壓的方法? – user2294256

1

它被稱爲縮小,它用於混淆(在某種程度上)並減少JavaScript代碼的整體大小。

像YUICompressor這樣的工具將爲您做到這一點。我將它設置爲一個後期構建任務,在部署之前貫穿我的所有JavaScript。

0

你從jquery.tmpl中提取了這個。 分鐘 .js。爲了減少網絡帶寬並加快加載速度,JavaScript文件通過工具最小化。

開發過程中,使用普通變量名稱來提高可讀性。

0

因爲它一直是minified。代碼運行時不需要完整的變量名稱,因此開發人員通常通過工具運行代碼以刪除多餘的材料,以縮小尺寸並縮短下載時間。

您可以下載jQuery的完整源代碼並使用它,在部署網站時用縮小版本替換它。

0

這是一個縮小的js文件,(因此文件名爲「.min。」)。減少變量名稱以節省帶寬使用。想想帶寬限制的人,或者通過慢速網絡進行傳輸,每個人都可以提供幫助。

相關問題