我需要JavaScript的Math對象中的方法來計算任何基數的對數。所以基本上我做的是這樣的:如何在JavaScript中添加數學方法
Math.log_b=function(b,x){return Math.log(x)/Math.log(b);}
這樣擴展內置函數的缺點是什麼?
爲了讓我的情況更加清晰,我正在接受用戶輸入,並將其替換爲適當的Math對象函數名稱並將其傳遞給eval進行計算。如果這還不清楚,我的困境是,就我而言,我必須使用eval(即使它是邪惡的),並擴展Math對象函數最適合我的情況。
當我像這樣擴展內置函數或是完全正常的事情時,是否可能存在一些奇怪的錯誤或其他問題?
沒有Math()構造函數,所以你不能原型它數學函數只是函數,而不是對象的方法。 – defaultNINJA
是的,它不能原型。 –
@Jack_of_All_Trades是的,它可以被原型。看到我的答案。 – Neal