cro*_*ryo 3 javascript python comparison operators
我来自python背景,并在做了一个javascript项目之后遇到了一个问题
0 <5 <3
输出为true,我的猜测是它运行第一个运算符并完全忽略第二个运算符
和python它将呈现为false.
我不关心如何让这个工作,但奇怪的是,它不是在文件中唯一暗示做(0 <x && x <3)而不是保持简单
猜猜我的问题是,如果有人能够回答这就是为什么这样的话
在JavaScript中,这个:
0 < 5 < 3
Run Code Online (Sandbox Code Playgroud)
评估如下:
(0 < 5) < 3
Run Code Online (Sandbox Code Playgroud)
这转化为:
true < 3
Run Code Online (Sandbox Code Playgroud)
将其进一步转换成这个(因为true是1在一个数值范围内):
1 < 3
Run Code Online (Sandbox Code Playgroud)
这是真的.
然而,Python的设计不同.如此处所述,它解释了这一点:
0 < 5 < 3
Run Code Online (Sandbox Code Playgroud)
相当于这个:
0 < 5 and 5 < 3
Run Code Online (Sandbox Code Playgroud)
上面的表达式可以进一步转化为:
True and False
Run Code Online (Sandbox Code Playgroud)
这是假的.
| 归档时间: |
|
| 查看次数: |
74 次 |
| 最近记录: |