2012-10-29 126 views
-3

我正在使用三元运算符,我需要一点帮助。我正在转换一个简单的if-else语句,但我有一个简单的语法错误,我似乎无法弄清楚。我在代码学院练习,我得到的错误是第一行是未定义的。 这是原始代码:使用Javascript的三元运算符

if (food === "taco") { 
    foodType = "Mexican"; 
} else { 
    foodType = "other"; 
} 

这是我的代码。这第一行是未定义的,但我似乎无法弄清楚如何。

var food = prompt("Food type"); 
var food === "taco" ? "Mexican": "other"; 
+1

那的JavaScript,而不是Java。 – Vulcan

+0

@Bryan java中没有var。 – freebird

+1

这一行“var food = prompt(”Food type“); ”与您所问的问题完全无关... –

回答

7

我想你的意思做的是:

foodType = (food === "taco") ? "Mexican": "other" 
        ^condition  ^true ^false 

MDN: Conditional Operator

1

三元语法应该是这样的,

variableToBeSet = (condition) ? trueValue : falseValue; 
在你的问题

foodtype = (food === "taco") ? "Mexican": "other"; 
0

布尔表达式?值1:值2

例如,下面的if..then..else声明

boolean isSmiley = true; 

String mood = ""; 

if (isSmiley == true) 
{ 
    mood = "I'm Happy!"; 
} 
else 
{ 
    mood = "I'm Sad!"; 
} 

现在你可以使用三元oprtation像下面

boolean isSmiley = true; 
String mood = (isSmiley == true)?"I'm Happy!":"I'm Sad!";