[英]How to return(true/false) in ternary operators in jQuery/Javascript?
如何在jQuery中使用三元运算符返回?
myfunc: function() {
for(i = 0; i < 10; i++) {
(6 == i) ? Do_This_and_This : return true;
}
//Error: Expected an operand: but found return false or true.
}
根据理解,返回false将返回功能并中断循环,返回true将作为继续到下一个迭代的继续工作。
请验证理解并提供解决方案。 如果还有其他方法,请提出建议
更新 :我的解决方案具有大型javascript,并且我为正在执行的实例放置了小片段。 就像in中一样,也有嵌套的ifs和嵌套的三元运算符。 让我们提供更多片段
myfunc: function() {
for(i = 0; i < 10; i++) {
($.inArray(questionNumber, questions) > -1) ? ((Ra === "") ? Report= Report+"<tr><td>lakslak</td></tr>" : Report= Report+"<tr><td>lasaaakslak</td></tr>") : return false;
}
}
三元运算符用于表达式,而不用于语句。 您不能在其中放一个return
-如果需要,请使用if
语句。
但是,根据您的情况,可以轻松地将return
移至外部:
return (6 == i) ? false : true;
虽然你最好做
return 6 != i;
对于您更新的代码,我建议使用
myfunc: function(){
for (var i=0; i<10; i++) {
if ($.inArray(questionNumber, questions) > -1)
Report += (Ra==="") ? "<tr><td>lakslak</td></tr>" : "<tr><td>lasaaakslak</td></tr>";
// or even
// += "<tr><td>"+(Ra===""?"lakslak":"lasaaakslak")+"</td></tr>";
else
return false;
}
}
在一种情况下,您不能使用条件运算符返回,而在另一种情况下,则不能使用条件运算符,因为return
是一个语句 ,并且条件运算符的操作数是表达式 ,而不是语句。 在JavaScript中,可以在需要语句的地方使用表达式(该语句变为ExpressionStatement ),反之则不能。
您无法在三元数中返回true或false,但是您将三元数放入if-else中以返回true或false。 我不知道采用这种方法是否很好,但是它可以工作。
if(condition ? value_if_true : null)
{
return false;
}
else {
return true;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.