返回信息流<!DOCTYPE html>
<html>
<head>
<title>assessent part1</title>
</head>
<body onload="do_game()">
<script>
var color = ["Blue","Chocolate","Gold","Green","LightYellow","Navy","Red","Snow","WhiteSmoke","Yellow"];
var finished = false;
var color_choosed;
var color_guess;
var count = 0;
function do_game(){
var random_num = Math.floor(Math.random() * color.length);
var color_choosed = color[random_num];
alert("The target color(color choosed) is " + color_choosed);
alert("This is the list of colors: \n Blue, Chocolate, Gold, Green, LightYellow, Navy, Red, Snow, WhiteSmoke, Yellow");
while(!finished){
color_guess = prompt("Which color you think did I choose?");
if(color_guess == null)
continue;
finished = check_guess();
}
}
function check_guess(){
if (color_guess != color_choosed){
return false;
}
return true;
}
</script>
</body>
</html>
不添加黄色的2行,prompt()取消后直接就退出了[em9]
加了之后能继续循环
我看别人的都没有用check_guess()函数,取消就不会退出。问题是我这里color_guess==null的话,check_guess也应该返回false吖,还是会循环吖。可是事实上退出循环了。。。求救[em17]
这是一条镜像帖。来源:北邮人论坛 / www-technology / #31458同步于 2015/9/25
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
prompt()取消后返回null的问题
sap
2015/9/25镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
你和别人代码不一样怎么可能循环。。。
do_game函数里新定义了局部变量var color_choosed,和一开始的全局变量color_choosed不是一频道的
另外判断时候最好用===号,省去好多麻烦,比如全局的color_choosed一直只定义没赋值,永远是undefined,null == undefined 结果是true,导致check函数返回了ture。
有必要的时候再用==吧
[点头][点头][点头]
【 在 YuaNs 的大作中提到: 】
: 你和别人代码不一样怎么可能循环。。。
: do_game函数里新定义了局部变量var color_choosed,和一开始的全局变量color_choosed不是一频道的
: 另外判断时候最好用===号,省去好多麻烦,比如全局的color_choosed一直只定义没赋值,永远是undefined,null == undefined 结果是true,导致check函数返回了ture。
: ...................