[英]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.