我如何不在javascript中无限循环我的程序?

我如何不在javascript中无限循环我的程序?,javascript,Javascript,注意:Javascript Noob(今天刚开始学习) 为了练习循环/对话框,我制作了一个简单的“我在想什么数字”程序 <script language="javascript" type="text/javascript"> var num = 7; while(num = 7) { num = prompt("What number am I thinking of? From 1-10");

注意:Javascript Noob(今天刚开始学习)

为了练习循环/对话框,我制作了一个简单的“我在想什么数字”程序

        <script language="javascript" type="text/javascript">
        var num = 7;
        while(num = 7)
        {
            num = prompt("What number am I thinking of? From 1-10");
            if(num != 7)
            {
                document.write("try again <br/>");
            }
            else
            {
                document.write("you got it");
            }
        }
    </script>

var-num=7;
while(num=7)
{
num=提示符(“我在想什么数字?从1到10”);
如果(num!=7)
{
文档。写入(“重试
”); } 其他的 { 写下(“你明白了”); } }
所以我让它部分工作。当用户输入7(这就是我所想的)时,它会返回“yougottit”,但它会不断提示用户输入。我想我创建了一个无限循环,因为每次我运行它时,我的浏览器都会有点混乱

在用户输入正确的数字后,如何停止程序运行?另外,如果您对我如何做得更好或不同有任何建议,我洗耳恭听。

更改:

 while(num = 7)
while(num = 7)
致:


我认为您应该尝试将代码重构为如下内容:

var num=prompt('Enter Guess:','');
while(num!=7){
    alert('Sorry, incorrect');
    num=prompt('Enter Another Guess:','');
}
alert('You got it!');
这基本上要求用户输入,然后,只要输入不正确,它就会告诉用户并再次询问。当他们最终猜对时,它会继续跳出循环。

这是有效的:

更改:

 while(num = 7)
while(num = 7)
致:

并将第一行更改为:


num=prompt(“我在想什么数字?从1到10”)

而(num!=7)
,当然?(编辑:尽管在while循环之前将num设置为7可能会使其失败…)@squemishossifrage不符合
num
的初始化要求。。。我并不完全清楚OP想要做什么-但很明显,错误是因为他在
中为
num
赋值,而不是运行比较。顺便说一句,否决权意味着一个答案是没有用的-是吗?谢谢你的帮助,但这样做会给我一个空白页。没有提示对话框显示UPPLESE post您的新代码,我自己在JSFIDLE中测试了它,它仍在工作。Markasoftware上面的回答让我更接近了,但仍然不能完美地工作。“while”循环的工作原理是,它告诉用户每一个不是7的输入都是不正确的,但是它也会对7进行操作。这个例子会让用户输入他们的第一个猜测,如果不是7,则会让他们再次输入,直到7为止。当值为7时,循环退出并告诉他们他们是对的。这不是你想要的吗?正是我想要的,但我没有得到。从您编写的代码来看,它肯定会起作用,但由于某些原因,它不起作用。我在chrome上试用过,很抱歉,我解决了这个问题(不应该有严格的等号,只有正常的等号才能完美工作。谢谢!