「+」演算子を変数に格納したい。
<head>
<script type="text/javascript">
var m= function(a,b){
return a-b
}
var jj= 10 m 10;
alert(jj)
</script>
</head>
「+」演算子を変数に格納したい。
<head>
<script type="text/javascript">
var m= function(a,b){
return a-b
}
var jj= 10 m 10;
alert(jj)
</script>
</head>
の使用を避けて、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]
変数に格納することもできることに注意してください。
それはいけません。
m
javascript を使用して、利用可能なフックを操作することにより、オペレータのカスタム バージョンを実装する方法はありますが、機能的に に変換する方法はありません+
。
@dystroy は、使用可能なフックを使用してカスタム バージョンの演算子を実装する優れた例を示していますが、オブジェクトを使用して何らかの作業を行う関数にアクセスする典型的な例にすぎないことに注意してください。
要求されたように、演算子を JavaScript に格納することはできません。関数を変数に格納し、代わりにそれを使用できます。
var plus = function(a, b) {
return a + b;
}
申し訳ありませんが、JavaScript ではこの演算子のオーバーロードは許可されていません。