此JavaScript代码应该无限期运行,直到提供一个空字符串,但它不会';T为什么?

此JavaScript代码应该无限期运行,直到提供一个空字符串,但它不会';T为什么?,javascript,Javascript,在线教科书中给出了以下代码: 我还尝试在console中以以下方式运行它: let yourName; do { yourName = prompt("Who are you?"); } while (!yourName); console.log(yourName); 我正在使用谷歌浏览器来测试这段代码。此代码只运行一次,但它应该无限期运行,直到提供空字符串为止。这里有一个简单的解决方案,yourName!=null检查提示是否已取消 说出你的名字; 做{ yourN

在线教科书中给出了以下代码:

我还尝试在console中以以下方式运行它:

let yourName;
do {
  yourName = prompt("Who are you?");
} while (!yourName);
console.log(yourName);

我正在使用谷歌浏览器来测试这段代码。此代码只运行一次,但它应该无限期运行,直到提供空字符串为止。

这里有一个简单的解决方案,
yourName!=null
检查提示是否已取消
说出你的名字;
做{
yourName=prompt(“你是谁?”);
}while(yourName!=”&&yourName!=null);

console.log(您的姓名)
您可以检查字符串的长度并运行循环,直到
yourName
找到空白内容

do{
var yourName=prompt(“你是谁?”);
console.log(您的姓名);
如果(!你的名字){
打破
}
}while(yourName.trim().length>0)在条件为真之前,“Do While”一直工作。在您的情况下,代码要求您必须编写一个名称才能退出“DoWhile”

如果您不希望出现这种情况,但希望出现另一种情况,则可以删除“Do while”中的“!”


在这种情况下,你会遇到相反的情况。

你想在游戏中使用这个吗?或者您只是在学习时偶然发现了它?“此JavaScript代码应该无限期运行,直到提供空字符串为止”-这不是真的。在链接页面中:“此程序将强制您输入一个名称。它将不断询问,直到得到非空字符串的内容。”-这正是它的工作原理。@سعيد只是在学习时偶然发现的。@Andreas Oh,我现在明白了。如果我输入一个空字符串,它将一次又一次地运行,但当我输入任何字符串时,它将停止运行。谢谢!OPs脚本完全按照它应该的方式工作(并且您的情况与
!yourName
所能做的没有任何不同)不,它会有所不同尝试删除“``yourName!=```”空值,您将看到
let funGame;
do { 
    funGame = prompt("enter anything to get rid of this Game");
} while (!funGame); 
console.log(funGame);
let yourName;
do {
  yourName = prompt("Who are you?");
} while (!yourName);
console.log(yourName);
let yourName;
    do {
      yourName = prompt("Who are you?");
    } while (yourName);
    console.log(yourName);