JS-if语句

if

格式

if(条件表达式){
     条件满足执行的语句;
}

let age = 19;
if(age >= 18){
	console.log("成年");	// 执行
}
console.log("未成年");	// 不执行


let age = 17;
if(age >= 18){
	console.log("成年");	// 不执行
}
console.log("未成年");	// 执行

特点

条件表达式为真的时候就会执行{}中所有的代码, 并且只会执行一次


if…else

格式

if(条件表达式){
     条件成立执行的语句;
}else{
     条件不成立执行的语句;
}

特点

  • 当条件满足就执行if后面{}中的代码
  • 当条件不满足就执行else后面{}中的代码
  • 并且两个{}只有一个会被执行, 并且只会被执行一次
let age = 17;
if(age >= 18){
    console.log("成年");	// 成立执行
}else{
    console.log("未成年");	// 不成立不执行
}
console.log("abc");		// 永远执行

if…elseif…else

格式

if(条件表达式A){
     条件A满足执行的语句;
}else if(条件表达式B){
     条件B满足执行的语句;
}
… …
else{
前面所有条件都不满足执行的语句;
}

let age = 4;
if(age >= 18){
    console.log("上大学");		// 4 不大于18 不执行
}else if(age >= 12){
    console.log("上中学");		// 4 不大于12 不执行
}else if(age >= 6){
    console.log("上小学");		// 4 不大于6 不执行
}else{
    console.log("在家玩");		// 满足条件 执行
}
console.log("选择结构后面的代码");	// 不在if语句中永远执行

特点

从上至下的依次判断每一个条件表达式, 哪一个条件表达式满足, 就执行哪一个条件表达式后面{}中的代码
如果前面所有的条件表达式都不满足, 就会执行else后面{}中的代码
并且众多的大括号只有一个会被执行, 并且只会执行一次


注意

  • 对于非布尔类型的数据, 会先转换成布尔类型再判断
if(1){		// 1 转为 true
    console.log("语句A");	// 执行
}
console.log("语句B");		// 执行

if(0){	// 0 转为 false
	onsole.log("语句A");	// 不执行
}
console.log("语句B");		// 执行

if(null){	// null 转为 false
	onsole.log("语句A");	// 不执行
}
console.log("语句B");		// 执行
  • 对于==/===判断, 将常量写在前面
let num = 10;
if(5 == num){		// 如果误写为 num = 5 会将5 的值 赋给 num
	console.log("语句A");	// 不执行
}
console.log("语句B");
  • if/else if/else后面的大括号都可以省略, 但是省略之后只有紧随其后的语句受到控制
if(false)
console.log("语句A");		// if(false) 控制的语句  不会执行
console.log("语句B");		// 不受 if(false) 控制  会执行
  • 在JavaScript中分号(;)也是一条语句(空语句)
if(false);		// 分号结尾相当于单独的语句, 不能控制后边的语句
{
    console.log("语句A");	// 执行
    console.log("语句B");	// 执行
}
  • if选择结构可以嵌套使用
if(true){
    if(false){
        console.log("语句A1");
    }else{
        console.log("语句B1");
    }
}else{
    if(false){
        console.log("语句A2");
    }else{
        console.log("语句B2");
    }
}
  • 当if选择结构省略大括号时, else if/else会自动和距离最近没有被使用的if匹配
if(0)
    if(1)
        console.log("A");
    else
        console.log("B");
else
    if (1)
        console.log("C");
    else
        console.log("D");
相关推荐
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页