第三章 初识条件语句及循环语句

202 阅读3分钟

一. 条件语句(实现分支结构)

1. 单向分支if

  • 语法:if(条件语句){}

  • 特点:所有if后边的条件语句都会转换为布尔值,只有为ture的时候,才会进入到这个条件里边执行代码

if (1 > 0) {
       // 满足条件才到里面,执行这里面的代码
       // 做一些事情...
       console.log("蹦个迪")
     }

2. 双向分支if……else

  • 语法:if(条件语句){} else { }
 if (1 < 0) {
       console.log("没错");
     } else {
       console.log("小学没过关是吧!!")
     }

3. 多向分支if……else if

if (表达式) {    
  code... 
} else if (表达式) {     
  code... 
} else if (表达式) {     
  code... 
} else {     
  code... 
} 

4.多向分支 switch case

  • 一个变量拥有很多种值的不同操作时,我们可以使用switch case 判断
  • 值为固定,不能出现范围
  • 如果忘记写break,无论是否满足case要求,都会往下继续执行,直到遇见break/default结束
  • 注意:
    • switch case 里边比较的是绝对相等(===):数据类型一样,地址相同。
    • 每一个条件结束后,都要增加一个break关键字,跳出switch循环
    • 如果都不满足,最终会回到default(可以省略不写),
switch (值) {
    case 可能的值: code....; break;
    //=>每一种情况结束都要设置break(以供当此条件成立并处理完事情后,通知代码不在向下执行)
    case 可能的值: code....; break;
    //每一种case情况都是基于 === 进行比较的(严格比较,需要保证数据类型的一致)
    case 可能的值: code....; break;
    case 可能的值: code....; break;
    default: code....; //=>等价于else,而且最后一个判断结束无需设置break
}

二.条件判断里的相互转换规则

1. 如果是对象数据类型,那就只要出去比较空间地址,空间地址是同一个,那就相等

2.对象和字符串比较,想先把对象转换成字符串,再去比较

3.除了第二条的情况,其他不是同一类型的,先都转换为number,再去比较

4.特殊记忆:

  1. null与undefined
  • null == undefined ture
  • null === undefined false
  • null与undefined和任何其他值都不会相等的,自身是相等的
  • NaN除了自身之外和其他值永不相等

三. i++及++i的区别

  1. 只有在计算时会有区别
  • i++先赋值在加1
  • ++i先加1在赋值
  1. 在日常使用中基本没有差别
  2. --i及i--同理

四. 循环语句

1. while循环

  • 特点:只要满足条件就会一直执行
  • 适用于不知道要循环多少次的应用场景
while (循环条件) {
    code...
}

2. do……while循环

  • 特点:不管条件成不成立,都会先do里边的内容
do {
    code...
} while (循环条件)

3. for循环

  • 语句:for(变量名;变量条件;变量变化){}
for (循环变量; 循环条件; 循环变量变化) {
    code ...
}

//循环输出 0-10
for (var i = 0; i <= 10; i ++) {
    console.log(i)
}

4.跳转语句

  • break 语句 结束整个循环
  • continue 语句 结束当前循环
  • return 语句 返回函数值
for(var i=0;i<10;i++){
       if(i<5){
          i++;//
          continue;
       }
       if(i>7){
          i+=2;
          break;
       }
       i+=1;
}
console.log(i);

5.三元运算

  • 语法:变量条件语句?条件成立执行语句:条件不成立执行语句;
  • 不成立时不作为时可用 undefined/null/void(0)来做占位符
  • 条件成立时执行多个语句可以用小括号包起来,并且语句之间用“逗号”进行隔开