JS之prototype用法(给Number添加通用属性/方法)

 

下午室友发给我一道前端面试题,因为当时忙着赶项目,目光扫了一眼,立马就回答道 “写一个add方法和一个minus方法传参数进去就好了丫~ ”

等下班回过头来仔细看这道题,为自己的愚蠢的回答感到愧疚,发现题中是数字调用方法,这不是简单写个方法就能实现,而需要用到JS原生属性prototype

一、Number.prototype

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

二、Number实例方法

我们通过控制台将Number原生实例方法打印出来,如图

三、通过Number.prototype增加全局方法

以上面的面试题为例,我们需要给Number增加一个add和minus方法


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

再去查看一下Nubmer.prototype实例,我们会发现多了两个全局方法add和minus

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值