2013-12-20 82 views
3

我正在開發第三方小部件,我的js使用本機reduce功能。使用原生減少,而不是原型1.6.0.3減少

但是,當我放入客戶頁面時,它具有原型1.6.0.3庫,並且它覆蓋了做某件事情的完全意想不到的reduce函數。

我該如何爲我的JS使用本地reduce而不是?

感謝

+0

將Prototype存儲在一個變量中,然後重置'reduce'。 – Florent

+0

問題是,作爲第三方JS,我無法控制客戶端將我的腳本放在哪裏,高於或低於prototype.js – Cleyton

+1

您是否可以請求將PrototypeJS更新爲1.7.1?在覆蓋它之前,該版本檢查本地reduce是否存在並修復其他許多錯誤。 –

回答

0

要擴大弗洛朗的評論:

<script type="text/javascript"> 
    Array.prototype.nativeReduce = Array.prototype.reduce; 
</script> 
<script type="text/javascript" src="/path/to/prototype.js"></script> 

現在你可以這樣調用本機減小方法:

var x = []; 

x.nativeReduce(...); 
+0

問題是,作爲第三方JS,我無法控制客戶端將我的腳本放在prototype.js之上或之下的位置 – Cleyton