Javascript多重比较表达式语法
Javascript multiple comparison expressions syntax
通过直觉我知道下面的语法是错误的,或者至少没有按预期工作(尝试过),但也没有抛出错误:
var x = 2;
if (1 < x < 3) ...
我猜VM首先评估表达式的一部分,然后将其与其余部分进行比较,但是是否有人实际上知道(最好有文档链接)究竟在这里发生了什么?
编辑:我发现了一个类似的问题,有如何写这个的解决方案,但我实际上对幕后发生的事情很感兴趣。
使用
if (1 < x && x < 3)
你在做什么
if (
(1 < x) // boolean, cast to 0 or 1
< 3
)
这一页来自MDN的操作符优先级解释了<
是从左向右解释的
相关文章:
- 错误:语法错误,无法识别的表达式:不支持的伪:无效/RectJS/Unit Testing
- 未捕获错误:语法错误,无法识别的表达式:input[@type=submit]
- jquery 1.8.0语法错误,无法识别的表达式:>
- 什么是英国电话号码验证表达式和语法
- Jquery 替换所有文本语法正则表达式中的变量
- 如何修复 jQuery 1.8“语法错误,无法识别的表达式”错误
- 错误:错误:语法错误,无法识别的表达式:
- 属性选择器不起作用(语法错误、无法识别的表达式)
- 如何在jQuery中修复此错误未捕获异常:语法错误,无法识别的表达式:语法错误,无法识别的表达式:标签
- 正则表达式语法错误 - 无需重复
- JS正则表达式语法
- Javascript正则表达式语法错误
- 正则表达式语法困难
- Angularjs的ng类表达式语法
- Javascript多重比较表达式语法
- 来自PEG(解析表达式语法)的智能感知
- JavaScript正则表达式语法
- 未捕获的错误表达式:语法错误,无法识别的表达式
- jQuery函数中的正则表达式语法
- HTML5输入验证的Javascript正则表达式语法