课程要求我形成一个while循环,我不断得到错误或无限循环。我做错了什么?
var understand = true;
while(understand= true){
console.log("I'm learning while loops!");
understand = false;
}
答案 0 :(得分:4)
您正在使用赋值运算符(=
)而非等号测试(==
)。
使用:while(understand == true)
或简化:while(understand)
从评论中更新:
===
表示值和数据类型必须相等,而==
会在比较前尝试将它们转换为相同的类型。
例如:
"3" == 3 // True (implicitly)
"3" === 3 // False because a string is not a number.
答案 1 :(得分:3)
=
表示作业,而==
则是比较。所以:
while(understand == true)
另请注意while
和其他分支结构,请采取条件。由于这是一个布尔值,你可以自己使用:
while(understand)
还注意==
和===
之间的区别(严格比较)。比较==
将尝试在比较值之前将双方转换为相同的数据类型。虽然严格比较===
没有,但在大多数情况下会更快。例如:
1 == "1" // This is true
1 === "1" // This is false