Javascript 如何在变量中使用加号

Javascript 如何在变量中使用加号,javascript,variables,Javascript,Variables,我想计算两个数字,这很简单 但有没有办法把算符放入变量中,然后进行计算呢 var x=5; 变量y=5; var p='+'; var z=x+p+y; $(“.button”)。单击(函数(){ 警报(z); }); 点击我您正在查找函数: var x=5; 变量y=5; var p='+'; var z=x+p+y; $(“.button”)。单击(函数(){ 警报(eval(z)); }); 点击我或对要添加变量的字符串使用parseInt: var x=5; 变量y=5; va

我想计算两个数字,这很简单

但有没有办法把算符放入变量中,然后进行计算呢

var x=5;
变量y=5;
var p='+';
var z=x+p+y;
$(“.button”)。单击(函数(){
警报(z);
});

点击我您正在查找函数:

var x=5;
变量y=5;
var p='+';
var z=x+p+y;
$(“.button”)。单击(函数(){
警报(eval(z));
});


点击我或对要添加变量的字符串使用parseInt:

var x=5;
变量y=5;
var p='-';
var z=x+parseInt(p+y);
$(“.button”)。单击(函数(){
警报(z);
});


点击我您可以使用
eval
功能:

var x=5;
变量y=5;
var p='+';
var z=eval(x+p+y);

警报(z)尽可能避免
eval
。对于本例,一个简单的
switch…case
语句就足够了:

var x = 5;
var y = 5;
var z;
var p = "+";
switch (p) {
    case "+":
        z = x + y;
        break;
    case "-":
        z = x - y;
        break;
}

您还可以使用功能图:

var fnlist = {
    "+": function(a, b) { return a + b; },
    "-": function(a, b) { return a - b; }
}
var x = 5;
var y = 5;
var p = "+";
var z = fnlist[p](x, y);

一个简单的
开关…case
就可以了。下面是你问题的答案-如果你只需要在
+
-
之间做出决定,你也可以用
var p=1
var p=-1
相乘。谢谢!完成..将在10分钟后接受..非常感谢:)@Twix-请记住,使用
eval
时会出现一些警告-该函数将尝试执行它提供的任何JS代码。通过验证变量是否包含您可以“信任”的值/运算符,确保您只执行您想要执行的代码。想象一下,如果其中一个变量包含类似于
alert('gottcha!')
Nice solution not using
eval
,如果您建议使用
eval
,请包含关于执行任意代码的危险的适当警告。我非常喜欢func-map解决方案。。。非常优雅!