OperatorBinaryBase 二元操作符基類
檔案:OperatorBinaryBase.js
// ----------- Binary Operator Base -------------<br />function OperatorBinaryBase() {<br /> this.DeriveFrom(new OperatorBase());<br /> this.set_ClassName("OperatorAdd");<br /> this._type = new BinaryType("undefined");</p><p> // get two numerical operands.<br /> this._getTwoNumberOperands = function(operands) {<br /> $ASSERT(operands.length >= 2);</p><p> var right = operands.pop(),<br /> left = operands.pop();</p><p> if (!(left.IsNumber() || left.IsBoolean()))<br /> throw new Exception(this, "_getTwoNumberOperands", "Left operand is not number or boolean type");</p><p> if (!(right.IsNumber() || right.IsBoolean()))<br /> throw new Exception(this, "_getTwoNumberOperands", "Right operand is not number or boolean type");</p><p> return [left, right];<br /> }; // _getTwoNumberOperands<br />};<br />
這一章比較簡單,做個鋪墊,後面的就比較多了。