本文最后更新于 37 天前,其中的信息可能已经过时,如有 错误/失效 请发送邮件到wenwanfj@gmail.com或留言。
判断是代码流程控制的一个重要环节,绝大多数逻辑的实现都离不开判断。
1. if判断
写法:
//单个if
if( 条件 )
{
//条件为真时执行的代码
}
//if else
if( 条件 )
{
//条件为真时执行的代码
}
else
{
//条件为假时执行的代码
}
//多个else
if( 条件1 )
{
//条件1为真时执行的代码
}
else if( 条件2 )
{
//条件1假 条件2真时执行的代码
}
else if( 条件3 )
{
//条件1条件2都为假 条件2为真时执行的代码
}
//可以一直列下去,可以if(){}结束,也可以else{}结束。
2. 三目运算
真语句为一条,假语句也只有一条时,我们可以将这种if else改为三目写法;
条件 ? 真执行的语句 : 假执行的语句;
//设 前文已定义变量 a b
//if
if( a > b ){
oBox.className = "goudan";
}else{
oBox.className = "dachui";
}
//三目
oBox.className = a>b ? "goudan" : "dachui";
三目不一定比if好,有些时候看起来三目比if更直观,但是有些时候if看起来会比三目更直观。
- () 结合三目的使用
真语句或者假语句不止一条时,是不是不能用三目呢,不一定哈,比如:
//ifelse
if(2>5){
console.log(1);
console.log(1);
console.log(1);
}else{
console.log(2);
console.log(3);
console.log(4);
}
//改成三目
2>5?(
console.log(1),
console.log(1),
console.log(1)
):
(
console.log(2),
console.log(3),
console.log(4)
);
3. switch
特殊形式的if else可以改写为switch,更清晰。
例: (注意关键词 switch case break default)
//设 前文已定义变量a
//if else
if( a === "阿飞" ){
//code1
}else if( a === "风屿" ){
//code2
}else if( a === "夏栀" ){
//code3
}else{
//code4
}
//switch
switch( a ){
case "阿飞":
//code1
break;
case "风屿":
//code2
break;
case "夏栀":
//code3
break;
default:
//code4
break;
}
4. 使用 && || 来代替判断
有时候会用到,
例:
//设前文已定义变量a b
//if
if(a){
somecode;
}
//逻辑
a && somecode;
//if
if( a > b ){
console.log(2);
}else{
console.log(3);
}
//三目
console.log( a>b?2:3 );
//逻辑运算
console.log( a>b && 2 || 3 );