在JavaScript中评估复杂的数学表达式
Evaluate complex mathematical expressions in JavaScript
我有类似于的表达式:300<=x<400.在运行时,我用一个特定的值替换x,然后对表达式求值,得到true或false。
对于上面的表达式,使用eval()函数总是返回true,在一段时间内它应该是false。
知道如何评估这些表达式吗?
感谢
在JavaScript中,与几乎所有主要的编程语言一样,您必须将300 <= x < 400
视为两个表达式,而不是一个,如下所示:
300 <= x && x < 400
&&
的意思是"answers"(你会在的语言中找到&&
)。
您根本不需要(也不应该)使用eval
,只需直接使用以下表达式即可:
if (300 <= x && x < 400) {
// ...
}
300 <= x < 400
没有给你预期的结果的原因是它的工作原理是这样的:
评估
300 <= x
并得到结果(true
或false
)将该结果代入该子表达式所在的位置,并计算得到的
result < 400
由于步骤1中的结果是布尔值,result < 400
将始终是true
,因为result
将被强制为一个数字,而true
强制为1
,false
强制为0
。
相关文章:
- 解析一个复杂的JavaScript表达式,将其改写为另一种格式
- 在JavaScript中评估复杂的数学表达式
- Javascript 复杂的正则表达式与变量
- 如何在 AngularJS 中将复杂的表达式排除在我的 HTML 之外
- 如何使用 php 制作正则表达式以从以下代码中抓取复杂数组
- 用于拆分字符串的复杂正则表达式 - 第 2 部分
- 如何在复杂的布尔表达式上避免三元
- 在正则表达式中指定复杂条件
- 反转一组相当复杂的正则表达式
- 使用一个正则表达式分析复杂字符串
- 我的餐巾纸数学解析器上的复杂正则表达式的逻辑
- 复杂的javascript条件表达式
- 谷歌脚本:"正则表达式过于复杂"
- 验证复杂字符串的JavaScript正则表达式
- 解释复杂的代码正则表达式
- 简洁地表达复杂的正则表达式
- 用于基于状态前缀验证电话号码的复杂正则表达式
- 将JSON发送到WebAPI - JSON对象包含一个图像(字节)-得到错误:表达式太长或太复杂而无法编译
- 如何使用正则表达式解析通用的复杂URL
- 如何在翡翠中做复杂的条件或正则表达式