gpt4 book ai didi

javascript - 如何在 javascript 中将方法添加到 Math

转载 作者:数据小太阳 更新时间:2023-10-29 05:19:19 28 4
gpt4 key购买 nike

我需要 javascript 的 Math 对象中的一个方法来计算任何底数的对数。所以基本上我所做的是这样的:

Math.log_b=function(b,x){return Math.log(x)/Math.log(b);}

像这样扩展内置函数的缺点是什么?

为了使我的情况更清楚,我将获取用户输入并将其替换为适当的 Math 对象函数名称并将其传递给 eval 进行计算。如果不清楚,我的困境是,就我而言,我必须使用 eval(即使它是邪恶的)并且扩展 Math 对象函数最适合我的情况。

当我像这样扩展内置函数时是否有可能出现一些奇怪的错误或其他错误,或者这是完全正常的事情吗?

最佳答案

你不应该修改你不拥有的东西。

  • 如果您使用的另一个插件或第 3 方代码将他们自己的 log_b 版本添加到 Math,从而提供完全不同的签名,会发生什么情况?

  • 如果 future 版本的 JavaScript 在 Math 上定义它自己的 log_b 版本会怎样?

有人会哭,因为对某些人来说,它不会做他们期望的事。


我不确定为什么扩展 Math 最适合您的情况

function my_log_b(b,x){return Math.log(x)/Math.log(b);}

... 似乎仍然适合您的情况。更好的是,定义您自己的命名空间,并将其放入其中;

var ME = {};

ME.log_b = function (b,x){return Math.log(x)/Math.log(b);}

关于javascript - 如何在 javascript 中将方法添加到 Math,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17887166/

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