在Number的原型上构建方法

JavaScript经典面试题

一、Number.prototype

  1. Number.prototype属性表示Number构造函数的原型。
  2. 所有Number的实例都会继承Number.prototype,修改Number构造函数的原型对象都会影响到所有Number的实例。
  3. 所以通过给Number.prototype增加方法可以让该方法对所有Number的实例都可用。

二、Number方法

我们通过谷歌浏览的控制台把Number实例的原生方法打印出来,如图:
Number实例的原生方法

三、实现(5).add(3).minus(2),使其输出结果为6

1
2
3
4
5
6
7
Number.prototype.add = function(num) {
    return this + num
}
Number.prototype.minus = function(num) {
    return this - num
}
console.log((5).add(3).minus(2))

然后再去控制台打印一下Number.prototype,会发现多出了两个全局方法add和minus,如图:
在Number的原型上增加方法


  • PS:以后想实现实例调取方法,只需把该方法放到当前实例所属类的原型上,另外,想要实现链式写法,就让当前方法执行完的结果还是当前类的实例,这样就能继续调用该类的其他方法。


-->