2012-03-03 7 views
1

私は、次があります。ありますか? C#のようなJavascriptの条件付きテスト?

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

しかし、私は本当にない変数にisCheckedと私がやりたいことは、「アクション」と呼ばれる変数に値を割り当てることですが必要なので、その場合は、右のテスト上記

var action = "Editing HTML" 

var action = "Editing" 

だけのif-elseを使用せずにこれを行うにはきれいな方法があり、その後でない場合はその後、本当ですか?

+1

を、あなたはJavaScriptでC#の条件付き構文を試してみましたか? – casablanca

答えて

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

+0

喜んで助けました。私はドキュメンテーションのためのリンクを追加しました。また、[式と演算子](https://developer.mozilla.org/ja/JavaScript/Guide/Expressions_and_Operators)のリストを確認することもできます。 –

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であり、ほとんどすべてのCスタイルの言語と同じようにJavaScriptで動作します。

1

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

+0

OPは、実際にはvar isCheckedが必要ないと言っています。 – sinemetu1

0

?ternary operatorと呼ばれています。

これは、フレームワークのものではなく、言語の構造です。

C#languageあるとJqueryJavascript(言語)にframeworkビルドです。

およびJavascript言語とほとんどの言語(C, C++, C#, Java, Javascript)がこの演算子をサポートしています。

0

はいあなたは条件演算子を使用することができます:あなたのケースでは

var variableToBeAssigned = conditiontoBechecked ? valueTobeAssignedONSucessOfCondition : valueToBeassignedONFailureOfCondition; 

を、あなただけ使用することができます。

var action = $('#htmlEdit').is(':checked') ? 'Editing HTML' : 'Editing'; 
関連する問題