有没有办法让以下JavaScript if..else条件简短,而不是写if() else()
函数两次有没有办法写if(x,y = ""){} else{}
或类似的东西使它更短?< / p>
$(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");
}
});
});
答案 0 :(得分:4)
不,你不能写出这样的条件,而是你可以把它写成
if(xxx == '' || yyy == '') {}
或者
if(xxx == '' && yyy == '') {}
这里,||
是OR运算符,&&
是AND运算符,如果1条件满足,则第1个将返回true,如果两个条件满足,则第2个将返回true。
如果您正在寻找简短的语法,可以使用ternary operator
答案 1 :(得分:4)
使用“或”语法(||
)
if(xxx == '' || yyy == '')
{
alert("good");
}
else
{
alert("bad");
}
这样,如果xxx
是一个空字符串,或者yyy
是一个空字符串,它将提示“良好”。如果它们都不为空,它将提醒“坏”
答案 2 :(得分: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");
});
});
<强> Demo 强>
答案 3 :(得分:0)
if(xxx=="" && xxy == ""){
alert('good');
}else if(xxx!="" || xxy != ""){
alert('bad');}
答案 4 :(得分:0)
你可以像这样写
xxx=="" && xxy =="" ? alert("good") : alert("bad")