我有以下内容:
var isChecked = $('#htmlEdit').is(":checked");
但我真的不需要变量isChecked,我想要做的是为一个名为“action”的变量赋值,这样如果上面右边的测试为真,那么
var action = "Editing HTML"
如果不是那么
var action = "Editing"
如果不使用if-else?
,是否有一种干净的方法可以做到这一点答案 0 :(得分:7)
是的,有:
var action = $('#htmlEdit').is(":checked") ? "Editing HTML" : "Editing";
答案 1 :(得分:3)
是的,Javascript有一个conditional operator。你应该可以写:
var action = $('#htmlEdit').is(":checked") ? "Editing HTML" : "Editing";
(你在问这个问题之前试过这个吗?)
答案 2 :(得分:2)
var result = someCondition == true ? "state 1" : "state 2";
// the first operand must evaluate to a boolean
var result = someCondition ? "state 1" : "state 2"; // shortened
var result = a == b ? "state 1" : "state 2"; // arbitrary condition
这是ternary operator,在JavaScript中的行为与大多数/所有c风格的语言相同。
答案 3 :(得分:1)
var action = isChecked ? "Editing HTML" : "Editing";
答案 4 :(得分:0)
?
也称为ternary operator
。
这更像是一种语言结构,而不是框架内容。
C#
是language
而Jquery
是基于framework
(语言)的Javascript
版本。
并且Javascript
语言和大多数语言(C, C++, C#, Java, Javascript
)都支持此运算符。
答案 5 :(得分:0)
是的,您可以使用条件运算符:
var variableToBeAssigned = conditiontoBechecked ? valueTobeAssignedONSucessOfCondition : valueToBeassignedONFailureOfCondition;
在您的情况下,您可以使用:
var action = $('#htmlEdit').is(':checked') ? 'Editing HTML' : 'Editing';