专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
基于JavaScript的公式解释器 - 7 【算术操作符的实现】
2019-04-13 17:32
发布
生成海报
站内文章
/
模拟电子
13011
0
1581
算术操作符包括 +、-、*、/、%
算术操作符
文件:OperatorMathematic.js
function OperatorMathematic() { this.DeriveFrom(new OperatorBinaryBase()); this.set_ClassName("OperatorMathematic"); this.set_Sign("undefined"); }; function OperatorAdd() { this.DeriveFrom(new OperatorMathematic()); this.set_ClassName("OperatorAdd"); this.set_Sign("+"); }; OperatorAdd.prototype.Evaluate = function(operands) { var values = this._getTwoNumberOperands(operands); return new OperandNumber(values[0].get_Value() + values[1].get_Value()); }; function OperatorSubtract() { this.DeriveFrom(new OperatorMathematic()); this.set_ClassName("OperatorSubtract"); this.set_Sign("-"); }; OperatorSubtract.prototype.Evaluate = function(operands) { var values = this._getTwoNumberOperands(operands); return new OperandNumber(values[0].get_Value() - values[1].get_Value()); }; function OperatorMultiply() { this.DeriveFrom(new OperatorMathematic()); this.set_ClassName("OperatorMultiply"); this.set_Sign("*"); }; OperatorMultiply.prototype.Evaluate = function(operands) { var values = this._getTwoNumberOperands(operands); return new OperandNumber(values[0].get_Value() * values[1].get_Value()); }; function OperatorDivide() { this.DeriveFrom(new OperatorMathematic()); this.set_ClassName("OperatorDivide"); this.set_Sign("/"); }; OperatorDivide.prototype.Evaluate = function(operands) { var values = this._getTwoNumberOperands(operands); return new OperandNumber(values[0].get_Value() / values[1].get_Value()); }; function OperatorModule() { this.DeriveFrom(new OperatorMathematic()); this.set_ClassName("OperatorModule"); this.set_Sign("%"); }; OperatorModule.prototype.Evaluate = function(operands) { var values = this._getTwoNumberOperands(operands); if (values[1].get_Value() == 0) throw new Exception(this, "Evaluate", "Divide by zero"); return new OperandNumber(values[0].get_Value() % values[1].get_Value()); };
Ta的文章
更多
>>
基于JavaScript的公式解释器 - 7 【算术操作符的实现】
0 个评论
430的复位及复位电路
0 个评论
热门文章
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮