我正在设置状态属性:state = { sign: '' }
并将其设置为'+'
或'-'
。
计划是在计算中使用它。例如,假设sign
设置为'+'
,我将在计算中使用运算符,例如:12 sign 8
。但是,当我输出结果时,我收到12+8
而不是20
。
关于我哪里出错的想法?
答案 0 :(得分:2)
var sign = '+';
console.log("Using conditionals");
console.log(sign==='+' ? 12+8 : 12-8);
//Switch
console.log("Using switch");
switch(sign)
{
case '+' : console.log(12+8);break;
case '-' : console.log(12-8);break;
default : console.log("not valid operation");
}
答案 1 :(得分:1)
利用评估功能
eval(a + this.state.sign + b)
eval()
函数的参数是一个字符串。如果字符串表示表达式,eval()
将计算表达式
答案 2 :(得分:0)
javascript中有eval()来评估字符串。
var operation=12+ sign+ 8
console.log(eval(operation))
答案 3 :(得分:0)
在javascript中使用eval
参考
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval
state = { sign: '+' }
console.log(eval(2 + this.state.sign + 6))