是否有if / else if / else语句的简写?例如,我知道有一个if / else语句:
var n = $("#example div").length;
$("body").css("background", (n < 2) ? "green" : "orange");
但是如何用上面的简写语法编写以下内容?
var n = $("#example div").length;
if (n < 2) {
$("body").css("background", "green");
}
else if (n > 2) {
$("body").css("background", "blue");
}
else {
$("body").css("background", "orange");
}
答案 0 :(得分:1)
它存在,但它是高度联合国推荐的,因为它很难阅读和维护。
var n = $("#example div").length,
color;
color = (n < 2) ? 'green' :
(n > 2) ? 'blue' : 'orange';
$("body").css("background", color);
答案 1 :(得分:0)
如果你使用换行符,三元是好的:
$( 'body' ).css( 'background',
(n < 2) ? 'green'
: (n > 2) ? 'blue'
: 'orange'
);
每个人都有他们的语法偏好,但我认为这是完全可读的。
答案 2 :(得分:0)
没有简写。
我还想指出?:运算符不是简写。一个是表达式,另一个是声明。
如果你想让这段代码更简洁,我建议摆脱大括号:
if (n < 2) $("body").css("background", "green");
else if (n > 2) $("body").css("background", "blue");
else $("body").css("background", "orange");
答案 3 :(得分:-1)
你可以使用三元组,但我会反对(这是不好的风格)。你也可以使用switch语句:
switch(true) {
case (n<2):
$("body").css("background", "green");
break;
case (n>2):
$("body").css("background", "blue");
break;
default:
$("body").css("background", "orange");
}
但这并不比只坚持if