Js基础(流程控制 运算符 语句)

一.运算符

  • 赋值运算符:

  • 赋值运算符有:=  ,+= ,- =,*=,/+,%=

            = 赋值运算符执行过程 : 将等号右边的值赋予给左边, 要求左边必须是一个容器

       


  • 一元运算符:

                1. 自增:符号++ 作用:让变量的值 +1

                2.自减: 符号:-- 作用:让变量的值 -1

            前置自增:先自加在使用(记忆口诀:++在前 先加)

let i = 1
console.log(++i + 2) //结果是4
 // 注意:i是2
 // i先自加1,变成2之后,在和后面的2相加

            后置自增:先使用再自加(记忆口诀:++在后,后加)

let i = 1
console.log(i++ + 1) //结果是3
//注意:此时的i是1
//先和2相加,先运算输出完毕后,i再自加是2
let i = 1
console.log(i++ + ++i +i) //结果为7

  • 比较运算符:

比较运算符

                 > : 左边是否大于右边 

                 =: 左边是否大于或等于右边

                 <=: 左边是否小于或等于右边

                 ==: 左右两边值是否相等                            (仅仅判断值是否相等)

                 ===: 左右两边是否类型和值都相等            (判断值和数据类型是否相等)

                !==: 左右两边是否不全等

                比较结果为boolean类型,即只会得到 true 或 false

 NaN不等于任何值,包括它本身,涉及到NaN都是false

不要比小数,小数有精度

不同的类型之间会发生隐式转换


  • 逻辑运算符:

         // 逻辑非 取反 ! 变量 将变量 由true 变成false 由 false 变成true
            // 逻辑非还涉及到隐式转换
            let a = trun
            console.log(!a);
            // 取反


  • 运算符优先级:

       一元运算符里面的逻辑非优先级很高

       逻辑与比逻辑或优先级高


 二.语句:

  • 表达式和语句的区别:

         因为表达式可被求值,所以它可以写在赋值语句的右侧。

         而语句不一定有值,所以比如 alert() for和break 等语句就不 能被用于赋值


  • 分支语句:

             if分支语句分为:单分支,双分支,多分支

            括号内的条件为true时,进入大括号里执行代码 

           小括号内的结果若不是布尔类型时,会发生隐式转换转为布尔类

  单分支if语句:

 // 如果if里面的判断条件为true时 执行代码,否侧不执行
        // 判断条件里的类型会自动转换成布尔类型
        if(true){
               console.log(123);
        }

 双分支if语句:

let a = +prompt('请输入你的分数')
        if(a>700){
            document.write('恭喜考上了')
        }else{
            document.write('家里蹲')
        }

多分支语句:

if(条件1){
      代码1
}else if(条件2){
      代码2
}else if(条件3){
      代码3
}else{
      代码n
}

释义:

  1.  先判断条件1,若满足条件1就执行代码1,其他的不执行
  2. 若不满足则向下判断条件2,满足条件2执行代码2,其他不执行
  3. 若依然不满足继续往下判断,依次类推
  4. 若以上条件都不满足,执行else里的代码
  5. 可以写N个条件,但这里演示只写2个

  • 三元运算符:

  1.    符号:?与:配合使用

 //  🔔可以使用 三元运算符(表达式)取值
        //🔔 5 < 3 ? console.log('对') : console.log('对')
        let res = 5 > 3 ? '对' : '错'
        console.log(res)

  • switch语句:

// 如果break去掉的话就成为穿透
        let week = +prompt('请输入1~7之间:')
        switch (week) {
            case 1:
                document.write('今天星期一')
                break;
            case 2:
                document.write('今天星期二')
                break;
            case 3:
                document.write('今天星期三')
                break;
           default:
                document.write('请重新输入')
                break;
          }

释义:

    1.找到根小括号里数据全等的case值,并执行里面对应的代码

     2.如果没有全等===的则执行default里面的代码

注意:

     1.switch case 语句一般用于等值判断,不舍于区间判断

     2.swithch case一般需要配合break关键字使用,没有break会使case穿透

if 多分支语句和 switch的区别:

  • 共同点

  1.  都能实现多分支选择, 多选1
  2. 大部分情况下可以互换

  • 区别:

    1. switch…case语句通常处理case为比较确定值的情况,而if…else…语句更加灵活,通常用于范围判断(大于,等于某个范围)。

    2. switch 语句进行判断后直接执行到程序的语句,效率更高,而if…else语句有几种判断条件,就得判断多少次

    3. switch 一定要注意 必须是 === 全等,一定注意 数据类型,同时注意break否则会有穿透效果

    • 结论:

      1. 当分支比较少时,if…else语句执行效率高。

      2. 当分支比较多时,switch语句执行效率高,而且结构更清晰。


  • 循环语句:

           重复执行一些操作, while : 在…. 期间, 所以 while循环 就是在满足条件期间,重复执行某些代码。

//while循环语法:
whlie(循环条件){
       循环体
}

释义:

       1.     跟if语句很像,都要满足小括号里的条件为true才会进入 循环体 执行代码

       2. while大括号里代码执行完毕后不会跳出,而是继续回到小括号里判断条件是否满足,若满足又执行大括号里的代码,然后再回到 小括号判断条件,直到括号内条件不满足,即跳出

循环三元素:

            while循环需要具备三要素:

                       1. 变量起始值

                       2. 终止条件(没有终止条件,循环会一直执行,造成死循环)

                       3. 变量变化量(用自增或者自减)

  let i = 1
        while(i<10){
            document.write('月薪过万<br>')
            i++

循环退出:

         循环结束: break:跳出所在的循环

         区别:

                  continue 退出本次循环,一般用于排除或者跳过某一个选项的时候, 可以使用continue, 

                   break 退出整个循环,一般用于结果已经得到, 后续的循环不需要的时候可以使用

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值