7

我正在使用 Code Academy 自学 JavaScript,并且正在尝试编写一些简单的代码,以便当提示提出问题时,用户回复会给出响应。

例子。

prompt says "what's your favourite colour?"

user says "blue"

response "that's the same colour as the sky!"

但是当我尝试添加不同的选项时,我得到了语法错误:意外标记其他。

我试着这样做,这样如果我问了一个问题,回复就会得到回应,但其他任何事情都会得到回应。

这是代码。

prompt("what do you want?");

if ("coke");
{console.log ("no coke, pepsi.")};
else
console.log ("pepsi only.")};

如果有人有任何想法,我将不胜感激!

4

7 回答 7

10

免责声明:我不为可口可乐工作。

prompt如果您想稍后使用它,您需要保存它的返回值。此外,您还有一些语法错误需要更正:

var answer = prompt('what do you want?');

if (answer === 'coke') {
    console.log('you said coke!');
} else {
    console.log('why didn\'t you say coke!?');
}

当您获得更多案例时,您还可以使用开关:

var answer = prompt('what do you want?');

switch (answer) {
    case 'coke':
        console.log('you said coke!');
        break;
    default:
        console.log('why didn\'t you say coke!?');
        break;
}

或者一个对象,因为大多数人更喜欢这样切换:

var answer = prompt('what do you want?');

var responses = {
    coke: 'you said coke!',
    defaultResponse: 'why didn\'t you say coke!?'
};

console.log(responses[answer] || responses.defaultResponse);
于 2012-10-18T20:49:13.927 回答
5

if 结尾不需要分号。而是这样做:

if ("coke") {
    console.log ("no coke, pepsi.");
} else {
    console.log ("pepsi only.");
}
于 2012-10-18T20:41:37.267 回答
2

删除尾随分号:

prompt("what do you want?");

if ("coke") {
    console.log ("no coke, pepsi.");
} else {
    console.log ("pepsi only.");
}
于 2012-10-18T20:41:31.233 回答
1

大括号后有一个分号。尝试:

var ans = prompt("what do you want?");

if (ans == "coke") {
    console.log ("no coke, pepsi.");
} else {
    console.log ("pepsi only.");
}
于 2012-10-18T20:42:18.547 回答
1
var name = prompt("what do you want?");  
if (name == "coke") 
{
console.log ("no coke, pepsi.")
}
else 
{
console.log ("pepsi only.")
} 

像上面一样

于 2012-10-18T20:43:45.007 回答
0

实际上不要做

 if (ans == "whatever") {
    console.log ("whatever");
} else {
    console.log ("whatever.");
}

 if (ans == "whatever") {
    confirm ("whatever");
} else {
    confirm ("whatever.");
}
于 2015-04-01T20:57:41.640 回答
0

Avariable需要被识别。"if" "else"语句之间的括号和分号也是有问题的。我不确定console log,但如果你想要一个弹出警报试试这个:

var brand = prompt ('what do you want?');
if (brand="coke") {
   alert ("no coke, pepsi.")
}else {
   alert ("pepsi only.")
};

免责声明:我充其量是新手,只是碰巧调试了一个类似的问题。希望能帮助到你。

于 2017-02-27T08:56:40.980 回答