2013-07-23 45 views
0

我在JavaScript以下代碼:覆蓋的JavaScript保留上縮小字束Asp.Net

Array.prototype.any = function (test) { 
    if (!arguments.length) 
     return !!this.length; 

    var arguments = Array.prototype.slice.call(arguments, 1); 
    var functionTest = typeof test == "function" ? test : function (x) {return x == test;}; 

    for (var i = 0, len = this.length; i < len; i++) 
     if (functionTest.apply(this[i], [this[i]].concat(arguments))) 
      return true; 

    return false; 
}; 

當我使用Asp.net捆綁來縮小JS文件,保留字「參數 「變成像字母」i「的字符變量,但是我需要可變參數,因爲它具有存儲函數的參數。

您可以在下面後看到縮小:

Array.prototype.any=function(n){var i,r,t,u;if(!i.length)return!!this.length;for(i=Array.prototype.slice.call(i,1),r=typeof n=="function"?n:function(t){return t==n},t=0,u=this.length;t<u;t++)if(r.apply(this[t],[this[t]].concat(i)))return!0;return!1} 

有人知道我怎樣才能防止這種變化?

回答

0

我不認爲將參數分配參數是一個好主意:)

刪除var arguments = Array.prototype.slice.call(arguments, 1);var args = Array.prototype.slice.call(arguments, 1);更換。

+0

謝謝,它解決了我的問題。 我不知道,但是當我像變量一樣使用保留字的名稱時,縮小器會識別一個保留字,如本地變量,並覆蓋上下文中的所有保留字,從而導致錯誤。 – brunosalgueiro