gpt4 book ai didi

javascript - 使用时无限循环? : condition inside "for" loop

转载 作者:行者123 更新时间:2023-11-30 20:13:22 25 4
gpt4 key购买 nike

以下是比较差异的两个例子:

for (var i = 0; i < 1 < 2 ? 1 : 2; i++) {
console.log(i);
}

它将记录:

1 2 3 ... 1000 2000 3000 ...

for (var i = 0; i < (1 < 2 ? 1 : 2); i++) {
console.log(i);
}

它将记录:

0

我的问题:

i < 1 < 2 ? 1 : 2

i < (1 < 2 ? 1 : 2)

P/S: 如果您使用 Chrome 查看此问题,请按 Shift + Esc 打开 Chrome 任务管理器以强制停止运行此页面中的脚本(如果没有点击运行代码片段后不会停止。

谢谢!

最佳答案

答案在JavaScript's operator precedence中.根据该列表,<运算符的优先级高于 ?:条件运算符和 <具有从左到右的结合性,所以 i < 1 < 2 ? 1 : 2被解释为 ((i < 1) < 2) ? 1 : 2 .

立即,您可以看到 < 是什么并不重要条件决定;唯一可能的结果是 12 ,两者都是“真实的”。

为了完整性,i < 1生产 true对于 i==0 , 和 false对于 i>0 ,在数字上下文中使用时,其值为 10分别,但由于两者都是1 < 20 < 2两者都可靠地生产 true , 整个表达式的计算结果总是 1 .

关于javascript - 使用时无限循环? : condition inside "for" loop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52176234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com