繁体   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