HTML动态公式计算

3 篇文章 0 订阅

在属性动态变化,公式动态变化的情况下使用:

<html>
<head>
</head>
<body>
  <script type="text/javascript">
    var tJSON = {
      长: 12,
      高: 34,
      宽: 0.34,
      密度: 3.45,
      体积: 423,
      速度: 4.34,
      重量: 234,
      公式结果: 0
    }



    function DoCal() {
      var inStr = document.getElementById("TA").value;//函数
      if (!inStr || inStr.length == 0) {
        alert("请输入公式");
        return;
      }
      var tArra = [];
      tArra.push(" var ")
      for (var key in tJSON) {
        tArra.push(key);
        tArra.push("=this.")
        tArra.push(key);
        tArra.push(",");
      }
      tArra.splice(tArra.length - 1, 1);
      tArra.push(";\r\n return ");
      tArra.push(inStr);
      tArra.push(";");
      var funcBody = tArra.join("");

      try {
        var fun = new Function(funcBody);
        var rtValue = fun.call(tJSON);
        tJSON.公式结果 = rtValue;
        alert(rtValue);
      }
      catch (e) {
        alert(e.message);
      }
    }
  </script>
  可用属性:<br />
  {<br />
  长: 12,<br />
  高: 34,<br />
  宽: 0.34,<br />
  密度: 3.45,<br />
  体积: 423,<br />
  速度: 4.34,<br />
  重量: 234,<br />
  }<br />
  计算公式<br />
  <textarea id="TA">长*宽*高</textarea>
  <br />
  <button onclick="DoCal()">计算</button>
</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值