ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript 算術式計算機のコード実装

JavaScript 算術式計算機のコード実装

黄舟
リリース: 2017-03-18 14:53:51
オリジナル
1561 人が閲覧しました

最初のステップは、createOperator 関数を実装し、クロージャ関数を返すことです:

var Add = createOperator("+" , function(a,b){return a + b;});
var Minus = createOperator("-" , function(a,b){return a - b;});
var Mul = createOperator("*" , function(a,b){return a * b;});
var pide = createOperator("/" , function(a,b){return a / b;});
ログイン後にコピー

1。クロージャ関数のインスタンスには、eval と to

String2 の 2 つのメソッドがあります。eval メソッドは計算を担当します。 arithmetic

expression

3 の値。 toString メソッドは式の計算プロセスを

string

4 の形式で表示します。適用範囲はバイナリ

operators

の値に限定されます。操作中の値は Value

function Value(value){
    this.value = value || 0;
}

Value.prototype.toString = function(){ 
	return this.value.toString(); 
};
ログイン後にコピー

createOperator 関数のコード実装:

//IIFE
var createOperator = (function() {
	//name:"+","-","*","/"
	//oper:对应的加减乘除函数
    return function(name, oper){
		//闭包函数
        var Foo = function(){
			//获取2个操作数
            var args = arguments;
            var nums = [].slice.call(arguments);
            nums = nums.map(function(e){return e.value;});          
            var val = new Value(oper.apply(null,nums));
			//给实例绑定toString和eval方法
            val.toString = function(){
                return args[0].toString() + " " + name + " " + args[1].toString();
            };
			val.eval = function(){
                return this.value;
            };
            return val;
        };  
        return Foo;
    }; 
})();
ログイン後にコピー
の形式で保存されます

以上がJavaScript 算術式計算機のコード実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート