(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是否为真实*。 45 都是 真实 值。

要检查它是否为 4,请使用 =====:

while (n === 4) {
    console.log("Hey!");
    n = 5;
}

(有关 ===== 的更多信息,请参阅 this question 及其答案。)


* JavaScript 在许多地方使用类型强制,包括在测试 while 循环和类似的条件时。因此,我们谈论值是“真实的”(它们强制转换为 true)或“虚假的”(它们强制转换为 false)。真值是所有不假的值。假值是 0""nullundefinedNaN,当然还有 false.