我想将“+”运算符存储在变量中。
<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]
在变量中。
您不能按照您的要求将运算符存储在 JavaScript 中。您可以将函数存储到变量中并改用它。
var plus = function(a, b) {
return a + b;
}
抱歉,JavaScript 不允许此运算符重载。
你不能。
有一些方法可以通过使用可用的钩子来使用 javascript 来实现运算符的自定义版本,但没有可能的方法将m
功能转换为+
.
@dystroy 有一个很好的例子,它使用可用的钩子来实现自定义版本的运算符,但请注意,它仍然只是使用对象访问执行某些工作的函数的经典示例。