Javascript三元操作奇怪的bug

时间:2015-09-01 21:01:36

标签: javascript

我有这个操作,它使我的模块崩溃

blop: function(variation) {
    variation>0 ? return 'Positive' : return 'Negative';
}

它有什么问题?

3 个答案:

答案 0 :(得分:8)

这是无效的语法。

条件运算符是运算符;像所有运算符一样,它的操作数必须是表达式。 return是一个陈述,而不是表达。

相反,您必须返回整个表达式:

return a ? b : c;

答案 1 :(得分:7)

你的表达问题是它不是表达;这是一个语法错误。您不能将return放到表达式的中间位置:

return variation > 0 ? 'Positive' : 'Negative';

return语句以关键字return开头,而且(除非我忘记了一些模糊的内容)关键字可以出现的唯一位置:语句的开头。在return出现表达式之后,上面的示例中表达式是您选择字符串的? :操作。

答案 2 :(得分:2)

在三元运算符中返回可能会产生语法错误。试试这个:

return (variation > 0) ? "Positive" : "Negative";
相关问题