簡體   English   中英

如何使我自己的javascript Math方法正常工作?

[英]How to make my own javascript Math method working?

在javascript中,當我創建此函數時,它可以完成預期的工作:

Number.prototype.powown = function(b) {
    return Math.pow(this, b);
}
var a = 3;
var b = 6;
document.write(a.powown(b));

但是我想讓它在不使用變量的情況下工作,我無法弄清楚它是如何工作的。

當我給出以下代碼時,我想使其工作:

document.write(Math.powown(3,6));

由於Math對象已經具有Math.pow(),因此您可以直接使用它,如果要添加自定義函數,則可以向Math對象添加自定義函數,例如:

Math.powown = function() {
  return Math.pow(arguments[0], arguments[1]);
};
console.log(Math.powown(2,2)); //gives 4

我想你想做的是

Number.prototype.pow = function(a){ return Math.pow(this, a); }

所以你可以這樣稱呼它

(10).pow(5);

或這個

10..pow(5);

注意:您將無法調用10.pow(5)或。 JavaScript需要知道10是數字

獎勵:如果您想變得愚蠢,可以將Math的所有方法應用於Number的原型,如下所示。

Object.getOwnPropertyNames(Math).forEach(function(p){
    Number.prototype[p] = function(){
        return Math[p].apply(null, Array.prototype.concat.apply([this], arguments));
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM