(JS) 为什么我的 While 循环不工作!?也许我不明白基本概念
(JS) Why is my While Loop not working!? Perhaps I don't understand the basic concept
代码如下:
var n = 4;
while(n) {
console.log("Hey!");
n = 5;
}
我在这儿吗:
n 是一个变量,值为 4。
当 n = 4 时,在控制台中打印 "Hey"。
将 n 的值更改为 5。
检查 n = 4。
n不等于4,停止执行代码!
我哪里错了?我真的很沮丧!编辑了一百万次!最糟糕的是,浏览器每次都会崩溃!
请指正!
Am I right here:
n is a variable, with value 4.
while n = 4, print "Hey" in console.
while(n)
不检查n
是否为4
,它检查n
是否为真实*。 4
和 5
都是 真实 值。
要检查它是否为 4
,请使用 ==
或 ===
:
while (n === 4) {
console.log("Hey!");
n = 5;
}
(有关 ==
与 ===
的更多信息,请参阅 this question 及其答案。)
* JavaScript 在许多地方使用类型强制,包括在测试 while
循环和类似的条件时。因此,我们谈论值是“真实的”(它们强制转换为 true
)或“虚假的”(它们强制转换为 false
)。真值是所有不假的值。假值是 0
、""
、null
、undefined
、NaN
,当然还有 false
.
代码如下:
var n = 4;
while(n) {
console.log("Hey!");
n = 5;
}
我在这儿吗:
n 是一个变量,值为 4。
当 n = 4 时,在控制台中打印 "Hey"。
将 n 的值更改为 5。
检查 n = 4。
n不等于4,停止执行代码!
我哪里错了?我真的很沮丧!编辑了一百万次!最糟糕的是,浏览器每次都会崩溃! 请指正!
Am I right here:
n is a variable, with value 4.
while n = 4, print "Hey" in console.
while(n)
不检查n
是否为4
,它检查n
是否为真实*。 4
和 5
都是 真实 值。
要检查它是否为 4
,请使用 ==
或 ===
:
while (n === 4) {
console.log("Hey!");
n = 5;
}
(有关 ==
与 ===
的更多信息,请参阅 this question 及其答案。)
* JavaScript 在许多地方使用类型强制,包括在测试 while
循环和类似的条件时。因此,我们谈论值是“真实的”(它们强制转换为 true
)或“虚假的”(它们强制转换为 false
)。真值是所有不假的值。假值是 0
、""
、null
、undefined
、NaN
,当然还有 false
.