javascript - 扩展 javascript 功能时,Number 和 Math 函数有什么区别?

标签 javascript

我通过创建一些对我有用的函数来扩展 javascript 的核心功能。今天为函数创建测试用例时,我开始想知道哪种方法是扩展整数的 javascript 功能的最佳方法。使用 Number.prototype 或 Math 对象。

Number.prototype.sqr = function () {
    return this * this;
};
var test1 = (6).sqr();
alert("This is 36: " + test1);

或者

Math.sqr = function (num) {
    return num * num;
};
var test2 = Math.sqr(6);
alert("This is 36: " + test2);

这两个示例可以针对您想要创建的任何整数类型函数进行切换,那么应该使用哪个?

最佳答案

我会选择 Math.sqr,因为它不会强制代码的读者思考“这个拥有 sqr 成员的东西是什么? ”。当然,在真实的程序中,您不会看到 (6).sqr() 这可能会让发生的事情更清楚,而是看到一些变量。

关于javascript - 扩展 javascript 功能时,Number 和 Math 函数有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5386137/

相关文章:

javascript - 无法从 Javascript addEventListener 方法调用 jQuery POST 请求

javascript - 将 DOMTimeStamp 转换为本地化 HH :MM:SS MM-DD-YY via Javascript

javascript - ApolloClient 不是一个构造函数react-apollo

Javascript多维数组未定义错误

javascript - 如何从 ASP.NET 中的复选框调用 javascript 函数?

javascript - 按数字顺序对数字数组进行合并和排序 - javascript

javascript - 将 Angular 6 应用程序作为简单的 JS 文件集成到现有的 HTML 站点中

javascript - 删除html表中列之间的空格

javascript - $watchCollection 不适用于数组

返回对象时的 JavaScript 问题