请问各位大佬我想输出打印大于1小于3的i
可是为什么下面的代码却不能输出任何东西,求教
for(var i=0; 1<i<3; i++){
console.log(i);
}
请问各位大佬我想输出打印大于1小于3的i
可是为什么下面的代码却不能输出任何东西,求教
for(var i=0; 1<i<3; i++){
console.log(i);
}
for (var i = 0; true; i = i++) {
console.log(i);
}
电脑差的可以试一下,让你马上明白 语句2和语句3 不写规范是什么下场:)
所以说 语句2条件限制要写清楚,不要仅仅为ture。语句3也要让初始值改变,不然死循环自增
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
典型的把数学上的表达式往编程里瞎套的问题。
数学上的
1 < i < 3
换成代码应该是1 < i && i < 3
。代码里
1 < i < 3
是从左往右计算的,先算1 < i
,结果可能会是true
(即1
) 或false
(即0
);再接着算x < 3
(x
就是前面的结果)。因为x
要么是0
要么是1
,所以这个表达式永远成立。所以我就纳了闷了,你这个控制台应该爆栈了才对,死循环、还永远成立,理论上你这个应该一直疯狂输出从 0 开始的所有整数才对。咋还能啥也没输出呢?