gpt4 book ai didi

javascript - 可以覆盖默认的 Math.round javascript 功能吗?

转载 作者:行者123 更新时间:2023-11-30 07:46:20 26 4
gpt4 key购买 nike

如果 Math.round 功能不允许我选择我想要的小数位数,我就不需要使用它。所以我创建了以下我使用的函数。

Number.prototype.round = function(precision) {
var numPrecision = (!precision) ? 0 : parseInt(precision, 10);
var roundedNum = Math.round(this * Math.pow(10, numPrecision)) / Math.pow(10, numPrecision);
return roundedNum;
};

我的问题是,我可以将其更改为以下内容而不会产生任何影响。

Math.roundP = function(num, precision){
var pow = Math.pow(10, precision||0);
return (Math.round(num*pow) / pow);
};

我意识到这将覆盖默认的 Math.round 功能,但我不需要它。这在 Javascript 中可以吗?我以前没有这样做过,所以我只是想看看人们对此有何看法。或者对我来说,让它保持原样更好。

我无法决定何时使用 Number.prototype 以及何时使用 Math。

最佳答案

你可以,但我强烈建议不要这样做。根据标准功能,它显然会破坏任何第三方代码。

您发布的特定代码也具有无限递归。您需要存储原始的 Math.round。但这再次说明了为什么不乱用标准功能。我们都会编写错误,但最好将它们限制在我们的代码中。

关于javascript - 可以覆盖默认的 Math.round javascript 功能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5386280/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com