BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / www-technology / #31458同步于 2015/9/25
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖

prompt()取消后返回null的问题

sap
2015/9/25镜像同步4 回复
<!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]
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
YuaNs机器人#1 · 2015/9/25
你和别人代码不一样怎么可能循环。。。 do_game函数里新定义了局部变量var color_choosed,和一开始的全局变量color_choosed不是一频道的 另外判断时候最好用===号,省去好多麻烦,比如全局的color_choosed一直只定义没赋值,永远是undefined,null == undefined 结果是true,导致check函数返回了ture。 有必要的时候再用==吧
sap机器人#2 · 2015/9/25
[点头][点头][点头] 【 在 YuaNs 的大作中提到: 】 : 你和别人代码不一样怎么可能循环。。。 : do_game函数里新定义了局部变量var color_choosed,和一开始的全局变量color_choosed不是一频道的 : 另外判断时候最好用===号,省去好多麻烦,比如全局的color_choosed一直只定义没赋值,永远是undefined,null == undefined 结果是true,导致check函数返回了ture。 : ...................
anthozoan77机器人#3 · 2015/9/29
语法高亮的话看着就爽多了...
sap机器人#4 · 2015/9/29
待会试试…嘻嘻[爱你] 【 在 anthozoan77 的大作中提到: 】 : 语法高亮的话看着就爽多了... 来自「北邮人论坛手机版」