1、if…else

  1. if(条件){ //条件只要可以计算出true或false即可,例如> < =的比较/一个值或其取反
  2. }else if(){//else if语句也可以有多个
  3. }else if(){
  4. }
  5. ...
  6. else{
  7. }
  8. 例如:
  9. var score=prompt("请输入成绩");
  10. console.log(typeof(score));
  11. if (score==100) {
  12. alert("奖励一辆BMW");
  13. }else if(score>=80){
  14. alert("奖励一台iPhone");
  15. }else if(score>=60){
  16. alert("奖励一本参考书");
  17. }else{
  18. alert("没有奖励");
  19. }

2、三元运算符 条件?条件成立做的事:条件不成立做的事。

  1. if else的简写
  2. let gender='male'
  3. if (gender=='female') {
  4. console.log('我是女生')
  5. }else if (gender=='male') {
  6. console.log('我是男生')
  7. }
  8. 用三元运算符可以简写为:
  9. 1)如果处理的事情比较多,可以用()包起来,以逗号分隔
  10. 2)如果不需要处理事情,使用nullundefined占位
  11. let gender='male';
  12. gender=='male'?console.log('我是男生'):console.log('我是女生')
  13. gender=='male'?(alert('男生!'),console.log('我是男生')):null
  14. 练习:
  15. let a=10
  16. if (a>0) {
  17. if (a<10) {
  18. a++
  19. }else{
  20. a--
  21. }
  22. }else{
  23. if (a>-10) {
  24. a+=2
  25. }
  26. }
  27. 可以改写为:
  28. a>0?(a<10?a++:a--):(a>-10?a+=2:null)
  29. 注意:三元运算符是简单if else语句的改写,复杂的语句不要使用三目运算符,不利于阅读代码

3、switch case:一个变量在不同的值的情况下对应不同的操作

  1. switch(进行判断的变量){
  2. case 成立的条件:
  3. 执行语句;
  4. break;//不加break,当前条件成立执行完成后,不论后面的条件是否成立都会执行下一个语句,直到遇到break为止
  5. case 成立的条件:
  6. 执行语句;
  7. break;
  8. ...
  9. default:
  10. 执行语句:
  11. break;
  12. }
  13. var num=3;
  14. switch (num){
  15. case 1 :
  16. alert("星期一");
  17. break;
  18. case 2:
  19. alert("星期二");
  20. break;
  21. case 3:
  22. alert("星期三");
  23. break;
  24. case 4:
  25. case 5://不加break的利用
  26. alert('周四或周五');
  27. break;
  28. default:
  29. break;
  30. }

4.注意

if else判断与switch case判断的区别:
swich case语句中的判断是绝对相等(===)

  1. let a=10
  2. swicth (a)
  3. case '10':
  4. console.log(a)
  5. break;
  6. default:
  7. break;
  8. // 相当于if语句===
  9. if (a==='10') {

要点 1、break与continue break:在循环语句中遇到直接退出该循环,不再执行break后面的语句 continue:在循环中遇到直接退出当前循环,不再执行该循环中continue后面的语句,进入到下一个循环继续执行 2、与= ==:进行比较时如果数据类型不同先转换为一样的数据类型然后再判断 =:数据类型不同直接视为不相等,switch case语句使用=进行判断 3、a++与a+=1或者a=a+1并不完全相等 a++纯粹的数学运算,即使遇到字符串 4、a++与++a

  1. for (var i=0;i<10;i++) {
  2. console.log(i)//0
  3. break;//遇到break直接退出该循环
  4. }
  5. console.log(i)//0 因为i=0时就遇到了break语句退出了循环
  6. for (var i=0;i<10;i++) {
  7. continue;
  8. console.log(i)//因为每次循环都先遇到continue语句然后退出当次循环,进入下一循环,直到i=10,结束整个循环
  9. }
  10. console.log(i)//10 i=10时结束的for循环
  11. let a='10'
  12. a==10?a++:a-- //'10'==10结果为true;'10'++是数学运算
  13. console.log(a)//11
  14. console.log(typeof a)//number
  15. let b='10'
  16. switch (b){
  17. case 10:
  18. b++
  19. break;
  20. default:
  21. b--
  22. }
  23. console.log(b)//9
  24. let a='10'
  25. a++
  26. console.log(a)//11
  27. let b='10'
  28. b+=1
  29. console.log(b)//101
  30. let a=3
  31. console.log(5+(++a)+(a++)+3-2+(--a)+(a--)-2)//5+4+4+1+4+4-2=20
  32. console.log(a)//3