2013-08-01 134 views
-1

有没有办法让下面的JavaScript if..else条件变短,而不是写if() else()函数两次有没有什么办法可以写if(x,y = ""){} else{}或者类似的东西使它变短?结合两条if语句的逻辑

$(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"); 
     } 
    }); 
}); 
+3

'if(!xxx || || !xxy)// ...'? (空字符串评估为false)。 –

+0

'if(x ==''&& y =='')'? – putvande

+0

我建议你在使用JQuery之前阅读关于基本javascript的一些教程,因为你不知道像||这样的基本运算符。 (OR)and &&(AND)... – Getz

回答

4

使用 “或” 语法(||

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

这样,如果xxx是一个空字符串OR yyy是一个空字符串,它会提醒“好”。如果它们都不是空的,它会提醒“坏”

+0

太棒了,谢谢kkkkkkkkkkk Youuuuuuuuuuuuuuu –

+1

@AumkarThakur没问题,因为你是新来的网站让我只是提醒你,如果你的问题得到解答,你应该点击答案左边的刻度图标接受它并将您的问题标记为已解决 – SmokeyPHP

+0

ok,完成!!!!!!! –

4

不,你不能写这样的一个条件,而不是你可以把它写成

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

或者

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

这里,||是OR运算符和&&是AND运算符,如果一个条件满足,则差值为1将返回真,如果两个条件满足,则第二个将返回真。

如果你正在寻找一个短手语法,你可以使用ternary operator

+0

那么,从技术上讲,他们可以像这样写他们的代码 - 这是完全有效的,并且可行。这是一个问题,它是否适用于他们想要实现的目标。 – SmokeyPHP

+0

@SmokeyPHP这是在第一行,并使其简短,信息是在最后一行:) –

+0

啊是的,'X,Y' - 我的道歉,我认为你是参考他们如何写他们的大代码块 – SmokeyPHP

0
if(xxx=="" && xxy == ""){ 
alert('good'); 
}else if(xxx!="" || xxy != ""){ 
alert('bad');} 
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"); 
    }); 
}); 

,如果你想在shortes代码,我认为这可能是这样的:

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

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

Demo

0

你可以写它像t他的

xxx=="" && xxy =="" ? alert("good") : alert("bad")