作为字符串传递时使用'+'作为实际的+运算符 - React

时间:2018-01-11 10:08:01

标签: javascript html reactjs

我正在设置状态属性:state = { sign: '' } 并将其设置为'+''-'

计划是在计算中使用它。例如,假设sign设置为'+',我将在计算中使用运算符,例如:12 sign 8。但是,当我输出结果时,我收到12+8而不是20

关于我哪里出错的想法?​​

4 个答案:

答案 0 :(得分:2)

  1. 使用条件
  2. 使用开关
  3. 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))