4 - 9 编程练习
来源:4-9 编程练习
目訫
2018-09-17 11:52:14
这个while循环的判断条件合理吗?while循环的变量变化语句(例:i++)是不是可以没有?这里在循环内部为nums赋值是不是就相当于改变了判断语句的变量了呢?在外部为nums赋值就会导致死循环,这是为什么?这段代码,尽管是自己写的,写完还是有很多地方不明白,希望可以指点一下,就这几个问题。 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Math.random()</title> </head> <body> <script> var num = Math.floor(Math.random() * (9 - 1 + 1) + 1), nums; while(nums != num) { nums = prompt("Your Number:"); if(nums > num) { alert("输入的数字大了"); } else if (nums < num) { alert("输入的数字小了"); } } alert("恭喜你猜对了");//补充代码 </script> </body> </html>
2回答
1、这道题中是合理的呢,但是建议在循环外面也添加一个nums的弹框,否则都会进入while循环再判断,因为nums开始没有值,参考:
2、while循环条件中有一个条件就可以了,i++是for循环里面的,while循环中只有不满足条件就会一直循环,所以不需要i++这种增长。
3、是的呢,nums是一个全局变量,在循环中改变,判断条件中也会改变。
4、上面有nums在外面的,不会造成死循环的哦。
自己测试下,祝学习愉快~~
目訫
提问者
2018-09-17
谢谢回答,不过第二条那个是满足条件就会一直循环吧。