如何使用javascript将运算符存储在变量中

时间:2013-02-01 19:31:02

标签: javascript

我想在变量中存储“+”运算符。

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

3 个答案:

答案 0 :(得分:12)

避免使用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]存储在变量中。

答案 1 :(得分:0)

您无法像要求的那样在JavaScript中存储运算符。您可以将函数存储到变量中,然后使用它。

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

很抱歉,但JavaScript不允许此运算符重载。

答案 2 :(得分:0)

你做不到。

有一些方法可以通过播放可用的钩子来使用javascript来实现自定义版本的运算符,但是没有办法将m功能转换为+

@dystroy有一个很好的例子,可以使用可用的钩子来实现自定义版本的运算符,但请注意,它仍然只是使用对象来访问有效的函数的经典示例。