JavaScript 运算符+流程控制(if~else,swile)+循环控制(for,for-in,while,do-while)

1、算数运算符 :+ - * / % ++ --
            +:任意一边是字符串的是表示的拼接;否则就是数字相加
            %: 取余;常用途:通过余数判断奇偶
            ++:i=i+1
            --:i=i-1
            i++:先+1,再输出
            ++i:先输出,再+1 操作
2、比较运算符 :> 大于,< 小于,>= 大于等于,<= 小于等于,== 判断,=== 判断,!= ,!==
    ==:值相同,返回的就是真,不比较数据类型 ;!=:值相同的取反
    ===:完全相等,值相同,数据类型也要相同 ;!==:完全相同的取反
3、赋值运算符 :=【掌握】,+=【掌握】,-=, *=,/=,%=
    = ,赋值操作,等号右边的值赋给等号左边
    += ,例:num += 1 等同于 num = num + 1
    -= ,例:num -= 1 等同于 num = num - 1
    *= ,例:num *= 5 等同于 num = num * 5
    /= ,例:num /= 2 等同于 num = num / 2
    %= ,例:num %= 2 等同于 num = num % 2
4、逻辑运算符
        && 且/与,左右两边都为真,则为真
    1)只要“&&”前面是true,无论“&&”后面是true还是false,结果都将返“&&”后面的值;
    2)只要“&&”前面是false,无论“&&”后面是true还是false,结果都将返“&&”前面的值;
      断点问题:再&&运算符中,如果&&前面的值为false,后面的不再运行。
 
        || 或,只要两边有一个为真,则为真
    1)前面为假,后面不管为真还是假,返回的是后面的值
    2)前面为真,不管后面是真还是假,返回的都是前面的值
      断点问题:只要 || 前面为真,那么不管后面是什么都不会执行
 
        && 且,前面为真,返回的都是后面
    前面为假,返回的就是前面
    前面为假,断点问题,后面的代码不再执行
        || 或,前面为假,后面不管真假,返回的都是后面
              前面为真,返回前面的内容
              前面为真,断点问题,后面的代码不再执行
 5、三元运算符
<script>
        if(5>3){
            console.log('true');
        }else{
            console.log('false');
        }
</script>
        三元运算符( 三元:三个运算单元 )表达式?为真的结果:为假的结果
        三元运算符就是简洁版的if-else语句
<script>
        var res = 5>3?'true':'false';
     // var res = 条件?为真时执行:为假时执行
        console.log(res);
</script>
6、if 语句if语句
  1)单分支
                if(表达式/条件){
                    为真的时候,执行{}中的内容
                    为假的时候,不需要执行任何代码
                }
  2)双分支
                if(表达式/条件){
                    为真的时候执行的代码
                }else{
                    为假的时候执行的代码
                }
  3)多分支
                if(表达式/条件){
                       为真的时候执行的代码
                }else if(表达式/条件){
                       为真的时候执行的代码
                }else{
                       为假的时候执行的代码
                }
<script>    
    // 成绩评价
    if(num>=90 && num<=100){
        console.log('优秀');
    }else if(num>=80 && num<90){
        console.log('良好');
    }else if(num>=60 && num<80){
        console.log('中等');
    }else if(num<60 && num>=0){
        console.log('差');
    }else{
        console.log('成绩有误!');
    }
 </script>

  4)分支嵌套

<script>
// 案例:判断平年和闰年
    // 闰年: 普通闰年 ,世纪闰年
    // 普通闰年:公历年份是4的倍数,且不是100的倍数的,为闰年(如2004年、2020年等就是闰年)。
    // 世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是闰年,2000年是闰年)。
var year = parseInt(prompt('请输入年份'));
    if(year >= 0){
        if(year%4==0 && year%100!=0 || year%400==0){
            console.log('闰年');
        }else{
            console.log('平年');
        }
    }else{
        console.log('年份不正确');
    }
</script>
7、switch
  switch(值){
            case 值1:
                代码段;
                break;
            case 值2:
                代码段;
                break;
            case 值3:
                代码段;
                break;
            default:
                代码段;
  }
<script>
var num = parseInt(prompt('输入程序'));
    switch(num){
        case 1:
            console.log('两只老虎');
            break;
        case 2:
            console.log('ABCDEFG');
            break;
        case 3:
           console.log('从前有个山...');
        break;
        case 4:
        console.log('相声,小品,魔术,杂技');
        break;
   }
</script>
       什么时候用if,什么时候用switch:
            if:判断的条件是一个范围的时候;满足某个条件需要继续判断的时候;
            switch:当判断的结果是某一个值的时候,可以用 switch
            所有的 switch 都可以用 if 实现,但是并不是所有的 if 都能用 switch 实现;
8、循环
  1、for 循环(固定次数的循环)
    for(初始化变量;循环条件;更新循环变量){
      代码块
    }
    基础语法结构
      for(var i = 1;i<=10; i+=1){
        console.log(i);
      }

    循环嵌套
      for(var j=1;j<=5;j++){
        for(var i=1;i<=5;i++){
          document.write("<div>"+i+"</div>");
        }
        document.write('<br/>')
      }
    循环输出数组的值
      var arr = ['张三','李四','王五','马六'];
      var newList = ['','',''];
      for(var i = 0;i<=3; i+=1){
        document.write('<li>'+arr[i]+'</li>');
      }
下方代码使用for循环1~100的数字,使其 i = 1~100;
  每次循环都除以 2 其余数等于 1,说明是奇数;
  奇数执行 if 中的代码;偶数执行 else 中的代码
<script>
for(var i=1;i<=100;i++){
   if(i%2 == 1){
       console.log(i + "这是奇数");
   }else{
       console.log(i + "这是偶数");
   }  
}
</script>

  2、for-in 循环(专门解决对象的遍历问题)

          for(定义的变量 in 循环的内容){
                  循环体
          }
          定义的变量:就是对象的键

<script>
var person = {
   "name":"jack",
   "age":18,
   "love":['篮球','足球']
};
for(i in person){
   console.log(person[i]);
}
var arr = ['河南','湖南','山东'];
// 也可遍历数组
// for(i in arr){
//      console.log(arr[i]);
// }
</script>

输出结果:

  3、while 循环(满足条件的循环)

    语法:
      while(循环条件){
        循环体
      }
<script>
//1. 循环输出1-5
   var i = 1;
   while(i<=5){
      console.log(i);
      i++;
   }
</script>
        4、do--while(执行的代码在前,条件在后;先执行一次代码,再看条件,不满足,不在执行)
            do{
                  循环体
            }while(循环条件)
<script>
     var i=0;
    do{
      i++
      console.log(i);
    }while(i<5);
</script>
while 循环和 for 循环最大的区别就是:
            while:满足条件执行循环
            for:规定好了执行的次数
     while 里面嵌套 for 
     for 里面嵌套 while
9、跳出循环
    continue;   翻译为 (停顿后)继续
    break;        翻译为   终止
<script>
var arr = [4,7,8,12,15,95,68,74,62,30,66,35];
    for(var i=0;i<arr.length;i++){
        if(arr[i]%5==0){
            console.log(arr[i]);
            continue;    // 可以终止本次循环,下方的 123 不在输出;
            // break;    // 当条件允许,终止 for 循环
        }
        console.log(123);
    }
</script>
 
posted @ 2023-11-04 14:37  五季-子琛  阅读(36)  评论(0)    收藏  举报