繁体   English   中英

如何在html中查找运算符值,将其设置为var并在javascript函数中使用它?

[英]how do i lookup an operator value in html, set it as a var and use it in a javascript function?

我的跨度为1 + 2 =:

<span id="num1">1</span> <span id="op">+</span> <span id="num2">2</span> =

我有一个JavaScript函数:

    $(document).ready(function() {

      var num1 = parseInt($("#num1").text());
      var op = $("#op").text();
      var num2 = parseInt($("#num2").text());
      console.log(num1 + op + num2);          //doesnt work

    });

这纯粹是出于实验原因,但是我将如何使用html中列出的运算符添加1 + 2? 我可以将运算符设置为var并以某种方式使用它吗?

我的想法是做console.log(num1 + op + num2); 但这没有任何作用

不要使用eval()因为它是邪恶的 请尝试混合并匹配运算符。

$(document).ready(function() {
  var num1 = parseInt($("#num1").text());
  var num2 = parseInt($("#num2").text());
  var op = $("#op").text();
  switch (op) {
    case "+":
      console.log(num1 + num2);
      break;
    case "-":
      console.log(num1 - num2);
      break;
    case "/":
      console.log(num1 / num2);
      break;
    case "*":
      console.log(num1 * num2);
      break;
  }
});

除非您使用eval ,否则我绝对不建议您使用eval (有很多原因,只是用谷歌搜索它),您可以执行以下操作:

$(document).ready(function() {

  var num1 = parseInt($("#num1").text()),
      num2 = parseInt($("#num2").text()),
      op =   $("#op").text(),
      result;

  switch(op) {
    case '+': result = num1 + num2; break;
    case '-': result = num1 - num2; break;
    case '*': result = num1 * num2; break;
    case '/': result = num1 / num2; break;
    default: /** do something else */ break;
  }

  console.log(result);

});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM