首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Javascript prompt()方法if语句

Javascript prompt()方法if语句
EN

Stack Overflow用户
提问于 2013-06-21 11:40:01
回答 3查看 315关注 0票数 0

我正在为一项学校作业做一个简单的javascript数字游戏,使用math.random生成一个随机数(var = randomDigit),然后让用户想出一个大于1的数字。基本上,他们将他们的数字加倍,JS将我的随机数字加倍并输出。他们将这些数字相加,然后除以2并减去它们的原始数字,得到(var = randomDigit)

这就是我被卡住的地方。我必须这样做,这样如果用户不想玩,它就不会继续下去……我只能使用一个"if“语句。我选择使用prompt()方法...如果你输入YES,就像对话框说的那样,它就能工作,如果你按取消,它就不能工作(好消息)。但如果我输入"NO“,就好像我不想玩这个游戏一样,它仍然有效。

我想要它,这样程序才能在提示对话框中输入“是”。

这是我的JS提琴:http://jsfiddle.net/JrYAq/

代码语言:javascript
运行
复制
 function dialog(){
var x;

var randomDigit = Math.floor((Math.random()*20)+1);

var doubleDigit = +randomDigit * 2;

var play = prompt("Would you like to play a game? If not, press cancel below.\n\nThink of a number greater than 1. Confirm you thought of a number by typing the word: YES","Type Here");

if (play==='false')
    {
    document.getElementById("pick").innerHTML="Sorry, maybe next time.";
    }       

else (play= "YES");
{
    x="1. Now double the number you thought of. I'm going to think of a number too:" + ' ' + doubleDigit +  '<br><br>' + "2. Now add my number and your doubled number together." + '<br><br>' + "Now divide the added numbers by 2, then subtract your original number. Did you get" + ' ' + randomDigit + "?" + '<br><br>' + "Pretty cool, right?"  ;
    document.getElementById("pick").innerHTML=x;
}
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-06-21 11:42:47

稍微调整一下就可以了

代码语言:javascript
运行
复制
if (play== "YES")
{
    x="1. Now double the number you thought of. I'm going to think of a number too:" + ' ' + doubleDigit +  '<br><br>' + "2. Now add my number and your doubled number together." + '<br><br>' + "Now divide the added numbers by 2, then subtract your original number. Did you get" + ' ' + randomDigit + "?" + '<br><br>' + "Pretty cool, right?"  ;
    document.getElementById("pick").innerHTML=x;
} else {
    document.getElementById("pick").innerHTML="Sorry, maybe next time.";
}

演示:Fiddle

票数 1
EN

Stack Overflow用户

发布于 2013-06-21 11:50:36

函数的作用是:返回用户在文本框中输入的值,而不是用户单击的按钮的值。因此,play的值永远不会是'false',除非用户在文本框中输入了'false‘。

试着这样做:

代码语言:javascript
运行
复制
var play = prompt("Would you like to play a game? If not, press cancel below.\n\nThink of a number greater than 1. Confirm you thought of a number by typing the word: YES","Type Here");

if (play === "YES")
{
    x="1. Now double the number you thought of. I'm going to think of a number too:" + ' ' + doubleDigit +  '<br><br>' + "2. Now add my number and your doubled number together." + '<br><br>' + "Now divide the added numbers by 2, then subtract your original number. Did you get" + ' ' + randomDigit + "?" + '<br><br>' + "Pretty cool, right?"  ;
    document.getElementById("pick").innerHTML=x;

}       
else 
{
    document.getElementById("pick").innerHTML="Sorry, maybe next time.";
}

此外,由于这更像是或否类型的情况,因此您可能希望使用confirm()而不是prompt()。

票数 2
EN

Stack Overflow用户

发布于 2013-06-21 11:54:21

else (play=“是”);

是一个赋值(不是比较),在括号中,后跟行分隔符。它后面的块将始终被执行。您的脚本当前的工作方式与编写脚本的方式相同

代码语言:javascript
运行
复制
if (play==='false') {
    document.getElementById("pick").innerHTML="Sorry, maybe next time.";
} else {
    play= "YES";
x="1. Now double the number you thought of. I'm going to think of a number too:" + ' ' + doubleDigit +  '<br><br>' + "2. Now add my number and your doubled number together." + '<br><br>' + "Now divide the added numbers by 2, then subtract your original number. Did you get" + ' ' + randomDigit + "?" + '<br><br>' + "Pretty cool, right?"  ;
document.getElementById("pick").innerHTML=x;

您似乎想要一个else-if-语句:

代码语言:javascript
运行
复制
if (play == "false") {
    document.getElementById("pick").innerHTML = "Sorry, maybe next time.";
} else if (play == "YES") {
    x="1. Now double the number you thought of. I'm going to think of a number too:" + ' ' + doubleDigit +  '<br><br>' + "2. Now add my number and your doubled number together." + '<br><br>' + "Now divide the added numbers by 2, then subtract your original number. Did you get" + ' ' + randomDigit + "?" + '<br><br>' + "Pretty cool, right?"  ;
    document.getElementById("pick").innerHTML = x;
} /* else {
    alert("neither 'false' nor 'YES' were entered");
} */
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17227334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档