使用原型链或class实现链式加减乘除

本文介绍了一种使用原型链或class实现的链式计算器方法,通过该方法可以连续进行加、减、乘、除及乘方运算,并提供了具体实现代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 题目
请用 原型链 或者 class 实现一个计算器,能够实现链式加减乘除
如: const calculator = new myCalculator(123);
 calculator.add(1).minus(2).multi(3).div(4).pow(2);
//使用原型链实现
function myCalculator(num) {
  this.num = num;
}
myCalculator.prototype.add = function (n) {
   this.num=this.num+n;
   return this;
}
myCalculator.prototype.minus = function (n) {
   this.num=this.num-n;
   return this;
}
myCalculator.prototype.multi = function (n) {
   this.num=this.num*n;
   return this;
}
myCalculator.prototype.div = function (n) {
   this.num=this.num/n;
   return this;
}
myCalculator.prototype.pow = function (n) {
   this.num=Math.pow(this.num,n);
   return this;
}
let sum=new myCalculator(123).add(1).minus(2).multi(3).div(4).pow(2);
console.log(sum.num);

//使用class实现
class MyCalculator1{
   constructor(value){
      this.value=value;
   }
   add(newValue){
      this.value+=newValue;
      return this;
   }
   minus(newValue){
      this.value-=newValue;
      return this;
   }
   multi(newValue){
      this.value*=newValue;
      return this;
   }
   div(newValue){
      this.value/=newValue;
      return this;
   }
   pow(newValue){
      this.value=Math.pow(this.value,newValue);
      return this;
   }
}
let sum1=new MyCalculator1(123).add(1).minus(2).multi(3).div(4).pow(2);
console.log(sum1.value);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值