我可以使用检查来查明 yourName 变量是否为 false,而不是使用否定运算符来更改其类型。
let yourName;
do {
yourName = prompt("Who are you?");
}
while (!yourName);
console.log(yourName);
结果是一样的
最佳答案
在过去 5 年的专业企业工作中,我从未见过 do..while
循环,仅仅是因为 while()
工作得很好,我理解在某些情况下,您需要至少 1 个循环,但在这些情况下,请查看如何触发此函数。我只能看到其中的一小部分,但我不建议使用它。
当应用否定运算符时,JavaScript 会与 if
、while
一起度过一段有趣的时光。
关于这个主题有很多信息,通常我喜欢为 JavaScript 的新开发人员引用 MDN,因为 Mozilla 有很棒的教程 https://developer.mozilla.org/en-US/docs/Glossary/Truthy .
如果 yourName
的类型为 undefined
或 null
或 false
或 ""
没关系,但要小心,因为有时您想检查 0
值是否为 true。它将返回 false,因为它将 0 解释为 false,例如您想要检查值是否等于 0 if(0)
将返回 false。但是 if(yourName == 0)
且 yourName
为 0,它将返回 true。
JavaScript 中的双重与三重相等比较也很有趣 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness
在while条件中添加否定运算符的目的是什么
To make sure the value is not an empty string
""
,undefined
, ornull
.
我可以使用检查来确定 yourName
变量是否为 false,而不是使用否定运算符来更改其类型
是的,您可以检查yourName
是否为假,它会正常工作而无需否定,它只是一个快捷方式。
我不明白你所说的改变类型是什么意思?
关于javascript - 在while条件中添加否定运算符的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58251101/