鍍金池/ 問答/HTML/ jquery判斷

jquery判斷

<script>

function shouhang(a=0) {
    var text = $('#normald').val();
    var allcon = text.split("\n");
    for( var i =1; i<allcon.length; i++){
        a = allcon[i].split("\t");
        var ling = "0";
        var yi = "1";
        for(var j =1 ; j<a.length; j++){
            // alert(a[j]);

            if(a[j] !==  yi || ling ){
                alert("檢測到有不是1或0 的數(shù)字");
                return false;
            }
        }
    }
    return true;
}



</script>

<script>

$('#normald').blur(function () {
    shouhang();
})

</script>

回答
編輯回答
命多硬

運(yùn)算符優(yōu)先級(jí)的問題,因?yàn)?!== 的優(yōu)先級(jí)高于 || ,因此if的判斷條件實(shí)際上為((a[j] !== yi) || (ling)),而ling是一個(gè)非空字符串,轉(zhuǎn)換成布爾值永遠(yuǎn)為true,因此表達(dá)式的結(jié)果永遠(yuǎn)為true

所以判斷條件要老實(shí)寫(a[j] !== yi && a[j] !== ling)

如果需要比較的值太多,可以寫成(![yi,ling].includes(a[j]))

2018年5月11日 03:41