5

「+」演算子を変数に格納したい。

<head>
<script type="text/javascript">
var m= function(a,b){
return a-b
}
var jj= 10 m 10;
alert(jj)
</script>
</head>
4

3 に答える 3

20

の使用を避けて、eval関数のマップを使用することをお勧めします。

var operators = {
   '+': function(a, b){ return a+b},
   '-': function(a, b){ return a-b}
}

次に、使用できます

var key = '+';
var c = operators[key](3, 5);

operators[key]変数に格納することもできることに注意してください。

于 2013-02-01T19:33:37.030 に答える
0

それはいけません。

mjavascript を使用して、利用可能なフックを操作することにより、オペレータのカスタム バージョンを実装する方法はありますが、機能的に に変換する方法はありません+

@dystroy は、使用可能なフックを使用してカスタム バージョンの演算子を実装する優れた例を示していますが、オブジェクトを使用して何らかの作業を行う関数にアクセスする典型的な例にすぎないことに注意してください。

于 2013-02-01T19:39:13.030 に答える
0

要求されたように、演算子を JavaScript に格納することはできません。関数を変数に格納し、代わりにそれを使用できます。

var plus = function(a, b) { 
    return a + b;
}

申し訳ありませんが、JavaScript ではこの演算子のオーバーロードは許可されていません。

于 2013-02-01T19:36:16.203 に答える