1

if() else()関数を 2 回記述する代わりに、次の JavaScript の if..else 条件を短くする方法はありますif(x,y = ""){} else{}か?

$(document).ready(function(){
    $("#third").click(function(){
        var xxx = $("#first").val();
        var xxy = $("#second").val();

        if (xxx == "") {
            alert("good"); 
        }
        else {
            alert("bad"); 
        }

        if (xxy == "") {
            alert("good"); 
        }
        else {
            alert("bad"); 
        }
    });
});
4

5 に答える 5

7

「または」構文を使用します ( ||)

if(xxx == '' || yyy == '')
{
    alert("good");
}
else
{
    alert("bad");
}

このように、xxxが空の文字列である場合、またはyyyが空の文字列である場合、「良好」と警告されます。どちらも空でない場合は、「悪い」と警告します

于 2013-08-01T10:00:47.473 に答える
5

いいえ、そのような条件を書くことはできません。代わりに、次のように書くことができます。

if(xxx == '' || yyy == '') {}

または

if(xxx == '' && yyy == '') {}

ここで、||は OR 演算子であり、&&は AND 演算子です。違いは、1 つ目の条件が満たされた場合に true を返し、2 つ目のものが両方の条件が満たされた場合に true を返すことです。

簡単な構文を探している場合は、三項演算子を使用できます

于 2013-08-01T10:00:27.877 に答える
1

これはどうですか?

$(document).ready(function() {
    var showResult = function(val) {
        alert(val ? "good" : "bad");
    };

    $("#third").click(function(){

        var xxx = $("#first").val();
        var xxy = $("#second").val();

        showResult(xxx);
        showResult(xxy);
    });
});

結合するだけの場合は、さらに少なく書くことができます。

$(document).ready(function() {
    $("#third").click(function(){
        var xxx = $("#first").val();
        var xxy = $("#second").val();

        alert((xxx || xxy) ? "good" : "bad");
    });
});

ショートコードが必要な場合は、次のようになると思います。

$(document).ready(function() {
    $("#third").click(function(){
        var elems = $("#first, #second").val();

        alert((elems[0] || elems[1]) ? "good" : "bad");
    });
});

デモ

于 2013-08-01T10:01:06.613 に答える
0
    if(xxx=="" && xxy == ""){
alert('good');
}else if(xxx!="" || xxy != ""){
alert('bad');}
于 2013-08-01T10:00:46.043 に答える
0

このように書くことができます

xxx=="" && xxy =="" ? alert("good") : alert("bad")
于 2013-08-01T10:02:59.617 に答える