js基本知识 、 运算符 、 if分支语句

274 阅读2分钟

js基础知识

一、运算符

1,算术运算符

数学运算符也叫算术运算符,主要包括加、减、乘、除、取余(求模)。

  • +:求和

  • -:求差

  • *:求积

  • /:求商

  • %:取模(取余数) -开发中经常作为某个数字是否被整除

    <script>
            let num1=10, num2=2;
            // 乘法
            console.log(num1*num2 )
            // 除法
            console.log(num1/num2 )
            // 求余
            console.log(num1%num2 )
            // 加法
            console.log(num1+num2 )
            // 减法
            console.log(num1-num2 )
        </script>
    

JavaScript中 优先级越高越先被执行,优先级相同时以书从左向右执行,先乘除后加减,有括号先算括号。

2,赋值运算符

赋值运算符:对变量进行赋值的运算符

已经学过的赋值运算符:= 将等号右边的值赋予给左边, 要求左边必须是一个变量,使用这些运算符可以在对变量赋值时进行快速操作。

其他赋值运算符:

  • +=
  • -=
  • *=
  • /=
  • %=
  <script>
        let num1=10;
        // num1=num1+3
        num1+=3;
        console.log(num1)
        // num1=num1-3
        num1-=3;
        console.log(num1)
        // num1=num1*3
        num1*=3;
        console.log(num1)
         // num1=num1/3
         num1/=3;
        console.log(num1)
        // num1=num1%3
        num1%=3;
        console.log(num1)
    </script>

3,一元运算符

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

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

 <script>
        let i=1;
        // 先自增在计算
        console.log( ++i +2)
        // 先计算在自增
        console.log( i++ +2)
    </script>

4,比较运算符

4.1 比较运算符的使用

  • > : 左边是否大于右边

  • <: 左边是否小于右边

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

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

  • ==: 左右两边是否相等,将两边的数据进行转换为数值

  • ===: 左右两边是否类型和值都相等

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

    4.2 比较运算符的细节

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

  • 字符串比较,是比较的字符对应的ASCII码

  1. 从左往右依次比较
  2. 如果第一位一样再比较第二位,以此类推
  3. 比较的少,了解即可
  • NaN不等于任何值,包括它本身

  • 尽量不要比较小数,因为小数有精度问题

  • 不同类型之间比较会发生隐式转换

  1. 最终把数据隐式转换转成number类型再比较
  2. 所以开发中,如果进行准确的比较我们更喜欢 === 或者 !==

5,逻辑运算符

5.1 逻辑符的使用

符号含义规则
&&逻辑与一假为假
||逻辑或一真为真
逻辑非取反

5.2 逻辑运算符的短路运算

短路:只存在于 && 和 || 中,当满足一定条件会让右边代码不执行

符号短路条件
&&左边为false就短路
||左边为true就短路

原因:通过左边能得到整个式子的结果,因此没必要再判断右边

运算结果:无论 && 还是 || ,运算结果都是最后被执行的表达式值,一般用在变量赋值

二、语句

2-1、分支语句

分支语句可以让我们有选择性的执行想要的代码,if语句有三种使用:单分支、双分支、多分支。

2-1-1 单分支语句

  • 但括号条件为true时,执行花括号的代码
  • 小括号内的结果若不是布尔类型时,会发生隐式转换转为布尔类型
<script>
        let num=+prompt('请输入您高考分数')
        if(num>=700){
            alert( '蓝翔欢迎您')
        }
    </script>

2-1-2 双分支语句

  • 当条件满足if括号的条件时,执行花括号程序,当条件不满足时,则执行else后花括号的程序。
<script>
        let num=+prompt('请输入您高考分数')
        if(num>=700){
            alert( '蓝翔欢迎您')
        }
        else{
            alert( '怀恨去北大')
        }
    </script>

2-1-3 多分支语句

  • 先判断条件1,若满足条件1就执行代码1,其他不执行
  • 若不满足则向下判断条件2,满足条件2执行代码2,其他不执行
  • 若依然不满足继续往下判断,依次类推
  • 若以上条件都不满足,执行else里的代码n
  • 注:可以写N个条件,但这里演示只写2个
    <script>
        let day=+prompt('请输入吃饭日期')
        if(day===1){
            alert('今天吃煲仔饭')
        }
        else if(day===2){
            alert('今天吃生猛海鲜')
        }
        else if(day===3){
            alert('今天吃烤全羊')
        }
        else if(day===4){
            alert('今天吃炒河粉')
        }
        else if(day===5){
            alert('今天吃老坛酸菜')
        }
        else if(day===6){
            alert('今天舔老坛酸菜桶')
        }
        else if(day===7){
            alert('今天吃牢饭')
        }
    </script>

2-1-4 三元运算符

  • 其实是比 if 双分支 更简单的写法,有时候也叫做三元表达式
  • 符号:? 与 : 配合使用,常用于取值
 <script>
        let num1=prompt('请输入第一个数');
        let num2=prompt('请输入第二个数');
        let num3;
        // num1>num2?alert( num3=num1) :alert( num3=num2);  
      num3 = num1>num2?alert( num1) :alert( num2);
    </script>