2012-03-03 34 views
1

我有以下幾點:有沒有? JavaScript中的條件測試就像在C#中一樣?

var isChecked = $('#htmlEdit').is(":checked"); 

但我並不真正需要的變量和器isChecked我想要做的就是分配一個值到一個名爲「行動」變量,因此,如果右邊的測試以上爲真,那麼

var action = "Editing HTML" 

如果沒有的話

var action = "Editing" 

有沒有乾淨的方式來做到這一點,而不只是使用的if-else?

+1

你嘗試在JavaScript中的C#語法條件? – casablanca 2012-03-03 09:32:32

回答

3

是的,Javascript有一個conditional operator。你應該能夠編寫:(?你試試這個問這個問題之前)

var action = $('#htmlEdit').is(":checked") ? "Editing HTML" : "Editing"; 

7

是的,有:

var action = $('#htmlEdit').is(":checked") ? "Editing HTML" : "Editing"; 

Conditional operator on MDN

+0

非常感謝。我沒有意識到我可以像C#那樣做。 – Jessica 2012-03-03 09:33:40

+0

很高興幫助。我已添加文檔鏈接。你也可以查看[表達式和操作符]的列表(https://developer.mozilla.org/en/JavaScript/Guide/Expressions_and_Operators)。 – 2012-03-03 09:49:22

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風格的語言相同。

1

var action = isChecked ? "Editing HTML" : "Editing";

+0

OP表示他並不需要var'isChecked'。 – sinemetu1 2012-03-04 06:04:07

0

?也稱爲ternary operator

這是更多的語言結構,而不是框架的東西。

C#languageJqueryframework建立在Javascript(語言)。

Javascript語言和大多數語言(C, C++, C#, Java, Javascript)都支持此運算符。

0

是的,你可以使用條件運算符:

var variableToBeAssigned = conditiontoBechecked ? valueTobeAssignedONSucessOfCondition : valueToBeassignedONFailureOfCondition; 

在你的情況,你可以使用:

var action = $('#htmlEdit').is(':checked') ? 'Editing HTML' : 'Editing'; 
相關問題