2016-10-20 6 views
0

と一致すると実行を中断したい。休憩を試みて、gotoしていませんでした。助言してください。javascriptで複数のif文を壊す方法

if (condition 1){ 
    print("1"); 
} 
if (condition 2){ 
    print("2"); 
} 
if (condition 3){ 
    print("3"); 
} 

ありがとうございます。

+4

条件が相互に排他的である場合、 'else if'を使用してください。 – Tushar

+0

JavaScriptの 'switch'構造はオプションですか? http://www.w3schools.com/js/js_switch.asp – SomeDude

+0

なぜ 'if-else if-else'を使わないのですか? –

答えて

0

switchを使用してみてください、

var x = 3; 

switch(x){ 
    case 1:{ 
    alert('one'); 
    break; 
    } 
case 2:{ 
    alert('two'); 
    break; 
} 
case 3:{ 
    alert('three'); 
    break; 
} 
case 4:{ 
    alert('four'); 
    break; 
} 
} 
+0

申し訳ありませんが、switch、else -ifが私のユースケースに合っていません。 – techq

2

私は非常にswitchelse...ifを行うことをあなたの主張で混乱しています「収まらない[あなた]ユースケース」 - これらは、はJavascriptがケースのために明示的に提供して構築されますを探しています - 一連の条件を評価し、条件が一致したときに中断します。この措置により、Lahiru Ashanの回答は有効であり、あなたの質問に対するコメントも有効な解決策です。

私は考えることができる唯一の他の手段、あなたが本当に機能ですべての条件文を配置すること、およびreturnを使用し、あなたのコード内if..elseswitchを使用することはできませんいくつかの奇妙な理由があればあなたが完了したら、回路を短絡させて機能を終了させて​​ください。このような何か:

function evaluateInput(inputVal) { 
    if (inputVal === 1){ 
     print("1"); 
     return; 
    } 
    if (inputVal === 2){ 
     print("2"); 
     return; 
    } 
    if (inputVal === 3){ 
     print("3"); 
     return; 
    } 
} 

x = 3 
evaluateInput(x); 

はしかし、私は本当に彼らが有効であり、はるかに従来の手段は、あなたが求めるものを達成するように、あなたは他の潜在的な解決策を再検討する必要があると思います。あなたが評価する条件の長鎖を持っており、これはあまりにも多くのオーバーヘッドのように見える場合

x = 3 
    if (x === 1){ 
     print("1"); 
    } else if (x === 2){ 
     print("2"); 
    } else if (x === 3){ 
     print("3"); 
    } 

、その後、switch文はLahiruアシャンのソリューションがあり、その場合には優れた代替は、次のとおりです。if..elseソリューションは、シンプルで簡単です有効な候補。

それは、彼らがStackOverflowのコミュニティを支援するために、コードの例で、ない理由おそらくあなたがより明確にを説明する必要があり、そうでない場合if..elseswitchあなたscenario--のために有効であることを私の疑い評価しています問題を解決し、解決策を見つけるのに役立ちます。

関連する問題