在JavaScript中将字符串转换为表达式
Convert string to expression in JavaScript
我正在制作一个JavaScript计算器,我想知道如何将字符串转换为表达式。
var numbers = "5+5+6";
numbers = +numbers;
document.querySelector('.screen').innerHTML = numbers;
在变量前加上+似乎不起作用。如果有人帮忙的话,我会很感激的。
可以这样使用eval()函数:
var numbers = "5+5+6";
document.querySelector('.screen').innerHTML = eval(numbers);;
计算/执行JavaScript代码/表达式:
var x = 10;
var y = 20;
var a = eval("x * y") + "<br>";
var b = eval("2 + 2") + "<br>";
var c = eval("x + 17") + "<br>";
var res = a + b + c;
res的结果将是:
200
4
27
不使用eval,这是作弊-你总是可以写一个简单的计算器应用程序。
首先,利用String.split(),如下所示
var numbers = "5+5+6";
numbers.split("");
// => ["5","+","5","+","6"]
现在你所需要做的就是找出如何在保持操作顺序正确的情况下对其求值。提示:它可能涉及到树
尝试使用String.prototype.match()
, Array.prototype.reduce()
, Number()
。参见Chrome应用程序:从字符串
var numbers = "5+5+6";
var number = numbers.match(/'d+|'+'d+|'-'d+/g)
.reduce(function(a, b) {
return Number(a) + Number(b)
});
document.querySelector(".screen").innerHTML = number;
<div class="screen"></div>
相关文章:
- 将po-box javascript正则表达式转换为c#regex
- 将这些正则表达式从javascript转换为Java
- 将数字数组转换为合适的正则表达式
- 是否存在将String转换为可执行的c++表达式的方法
- 将 Javascript 正则表达式转换为 PHP
- 在 JavaScript 中使用 parseFloat() 或 parseInt() 和正则表达式(转换 CSV 文件)
- 将Javascript正则表达式模式转换为C++std::regex的规则
- 将一个小型javascript表达式转换为mongodb查询
- 使用正则表达式将字符串转换为javascript数组
- 将PHP中的正则表达式转换为javascript
- 如何将变量表达式转换为可执行代码(而不是替换值)
- Javascript正则表达式替换以转换文本
- 将正则表达式转换为PHP
- 将cron表达式转换为人类可读字符串的JavaScript API
- 在 javascript 中将正则表达式字符串转换为正则表达式不同
- 将 JavaScript 正则表达式转换为 asp.net vb
- 正则表达式用于从转换矩阵中选择元素
- 如何在不使用 JavaScript 正则表达式的情况下将大写转换为小写,反之亦然
- 在 Javascript 中使用正则表达式解析 XHTML 字符串并将其转换为 DOM
- 正则表达式将 html-image 转换为 XML 以避免预加载