javascript - 如何添加像 num.tf(n) 这样的方法作为 num.toFixed(n) 的别名

标签 javascript methods prototype

我想为 Number 类型上的 toFixed() 等方法添加别名 tf() 。示例:

let num = 1.234;
console.log(num.toFixed(1));  // prints 1.2
console.log(num.tf(2));       // should print 1.23

根据一些研究,这可能是可能的,但不是传统的。我只是有兴趣在私有(private)工具中尝试它,并了解有关 Prototype 等的更多信息,如果您不以布道方式回复,我将不胜感激:=)

非常感谢。 通用电气。

最佳答案

您需要在 Number 中创建一个名为 tf 的新原型(prototype)。

Number.prototype.tf =Number.prototype.toFixed

应该这样做 Barmar 在上面的答案中发布了。

尽管如果您喜欢冒险,您可以创建一个新函数来看看它是如何完全工作的。

Number.prototype.tf=function(num){
    return parseFloat(this.valueOf().toFixed(num))
}

它们本质上都做相同的事情,但第一个答案更具可读性。

关于javascript - 如何添加像 num.tf(n) 这样的方法作为 num.toFixed(n) 的别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58738805/

相关文章:

JavaScript - 使用原型(prototype)的构造函数

javascript - 满足If条件时从json中获取Key的Value

javascript - React - 单击按钮从外部 API 函数获取

javascript - 单击 html 加载器重新出现并消失

c# - 在 C# 中使用方法将华氏度转换为摄氏度

javascript - 了解经典继承和原型(prototype)继承之间的区别

javascript - 状态变异中的 React 数组

java - groovy 调用 Java 父类(super class)中的私有(private)方法

java - 为什么 Eclipse 在我编写的行中显示错误 public static void main(String[] args)

jquery - 为什么 jQuery.extend 定义为 jQuery 函数属性,而 jQuery.fn.extend 定义为 jQuery 原型(prototype)对象属性