複数のJavascript IFステートメントの処理
-
05-07-2019 - |
質問
Javascriptに複数のIFステートメントを挿入することは可能ですか?もしそうなら、私は以下の声明でかなりの量のトラブルを抱えています。 if(data == 'valid')AND else の間に別のIFステートメントを挿入できるかどうか疑問に思っていましたか? 2つの間に別の if data == 'concept')を追加します。
if (data == 'valid') {
$("#file").slideUp(function () {
$("#file").before('<div class="approvedMessage">WIN WIN WIN!</div>');
setTimeout(ApprovedProof, 5000);
});
function ApprovedProof() {
$("#file").slideDown();
$('.approvedMessage').fadeOut();
}
}
else {
$("#file").slideUp(function () {
$("#file").before('<div class="deniedMessage">NO NO NO!</div>');
setTimeout(DeniedProof, 5000);
});
function DeniedProof() {
$("#file").slideDown();
$('.deniedMessage').fadeOut();
}
}
解決
これはあなたが探しているものですか?
if(data == 'valid') {
// block 1
} else if (data == 'concept') {
// block 2
} else {
// block 3
}
他のヒント
データ変数に多くの異なる値を保持する場合は、switchステートメントがニーズにより適している場合があります。
switch(data)
{
case "valid":
//stuff
break;
case "concept":
//stuff
break;
case "this": case "that":
//more stuff
break;
default:
break;
}
各ケースの後のbreakステートメント、条件ごとに複数のcaseステートメントを使用できること、および他に一致するものがない場合に起動するcatch-callデフォルトケースがあることに注意してください。 switchステートメントは、Ifステートメントのより簡潔なバージョンにすぎません。
else if
if (data == "valid") {
// stuff here
} else if (data == "concept") {
// more stuff
} else {
// other stuff
}
質問とは無関係ですが、ジョーイはタイマーで匿名関数を使用することの明確化を求めました:
if (data == 'valid') {
$("#file").slideUp(function () {
$("#file").before('<div class="approvedMessage">WIN WIN WIN!</div>');
setTimeout(function () {
$("#file").slideDown();
$('.approvedMessage').fadeOut();
}, 5000);
});
}
所属していません StackOverflow