JavaScript-小白日记- 第三天

93 阅读5分钟

运算符:算术运算符→赋值运算符→一元运算符→比较运算符→逻辑运算符→运算符优先级→语句→表达式和→分支语句→循环语句

算术运算符

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

+:求和
-:求差
*:求积
/:求商
%:取模(取余数)

重点:!开发中经常作为某个数字是否被整除

优先级顺序

同时使用多个运算符编写程序时,会按着某种顺序先后执行,我们称为优先级。 JavaScript中 优先级越高越先被执行,优先级相同时以书从左向右执行。

乘、除、取余优先级相同
加、减优先级相同
乘、除、取余优先级大于加、减
使用 () 可以提升优先级

总结: 先乘除后加减,有括号先算括号里面的~~~
console.log(1 + 2 *3) // 7
console.log(10 - 8 / 2) // 6
console.log(2 % 5 + 4 * 2) // 10

计算圆的面积

<script>
        let r = prompt('请您输入半径')
        let result = 3.14 * r * r
        document.write(`计算之后圆的面基是:${result}`)
</script>

赋值运算符

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

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

其他赋值运算符:

+=
-=
*=
/=
%=
使用这些运算符可以在对变量赋值时进行快速操作

我们以 += 赋值运算符来举例

  1. 以前我们让一个变量加 1 如何做的?
<script>
 let num = 1
 num = num + 1 
 console.log(num) //结果为 2
</script>
  1. 现在我们有一个简单的写法啦~~~
<script>
 let num = 1
 num += 1 
 console.log(num) //结果为 2
</script>

一元运算符

众多的 JavaScript 的运算符可以根据所需表达式的个数,分为一元运算符、二元运算符、三元运算符

二元运算符:

例:

let num = 10 + 20 

一元运算符:

例: 正负号

问题: 我们以前让一个变量每次+1 ,以前我们做的呢?

let num = 1            let num = 1
num = num + 1          num += 1

能够使用一元运算符做自增运算

我们可以有更简便的写法了~~~

自增:

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

自减:

符号:--
作用:让变量的值 -1

使用场景:

经常用于计数来使用。 比如进行10次操作,用它来计算进行了多少次了

自增运算符的用法:

前置自增:

let num = 1
++ num //让num的值加 1变2

每执行1次,当前变量数值加1

其作用相当于 num += 1

后置自增:

let num = 1
num++ //让num的值加 1变2

每执行1次,当前变量数值加1 其作用相当于 num += 1

自增运算符的用法:

前置自增:

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

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

后置自增:

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

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

自增运算符的用法:

  1. 前置自增和后置自增独立使用时二者并没有差别!
  2. 一般开发中我们都是独立使用
  3. 后面 i++ 后置自增会使用相对较多

比较运算符

学习路径:

  1. 比较运算符的介绍
  2. 比较运算符的使用
  3. 比较运算符的细节

比较运算符的介绍

作用:比较两个数据大小、是否相等

实际运用例:

image.png

比较运算符的使用

比较运算符:

>: 左边是否大于右边
<: 左边是否小于右边
>=: 左边是否大于或等于右边
<=: 左边是否小于或等于右边
==: 左右两边是否相等
===: 左右两边是否类型和值都相等
!==: 左右两边是否不全等

比较结果为boolean类型,即只会得到truefalse
<script>
        console.log(3 > 5) //  false
        console.log(5 >= 5) // true
        // console.log(5 = 5)
        console.log(5 == 5)
        console.log(5 == '5')
        // == 只要值一元就是true 不管数据类型
        console.log(5 == 'pink')
        //=== 以后判断要用 === 开发常用    要求值和数据类型都一样
        console.log(5 === 5)
        console.log(5 === '5')
        // 特殊情况
        console.log('pink' > 'red')
        console.log('pink' > 'pin')
        console.log(1 === NaN)
        console.log(0.1 + 0.2 === 0.3)
        console.log(0.1 + 0.2)

        console.log(3 > '2')
        console.log(5 !== 4)

    </script>

比较运算符的细节

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

  1. 从左往右依次比较
  2. 如果第一位一样再比较第二位,以此类推
  3. 比较的少,了解即可

NaN不等于任何值,包括它本身

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

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

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

image.png

逻辑运算符

学习路径:

  1. 逻辑运算符的介绍
  2. 逻辑运算符的使用
  3. 逻辑运算符里的短路

1、逻辑运算符的介绍

如果我想判断一个数据大于5且小于10,怎么办?

错误写法: 5 < 数据 < 10

逻辑运算符用来解决多重条件判断

2、逻辑运算符的使用

逻辑运算符:

&&  逻辑与  并且  符号两边都为true 结果才为true  一假则假
||  逻辑或  或者  符号两边有一个 true就为true    一真则真
!   逻辑非  取反  truefalse falsetrue       真变假,假变真

3、逻辑运算符里的短路

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

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

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

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

console.log(false && 20)// false
console.log(5 < 3 && 20) // flase
console.log(undefined && 2) // undefined
console.log(nul1 && 2) // null
console.log(9 && 2) // 
console.log(1 && 20) // 20

console.log(false || 20) //20
console.log(5 < 3 || 20) // 20
console.log(undefined || 20) // 20
console.log(null || 20) // 20
console.log(0 || 20) // 20
console.log(10 || 20) // 10

判断一个数是4的倍数,且不是100的倍数

 <script>

          let num = +prompt('请输入一个数字:')
        // console.log(num)   控制台是空字符串  ''  当假看
        num = num || 0
        // console.log(num)
        console.log(num % 4 === 0 && num % 100 !== 0)

    </script>

运算符优先级

掌握运算符优先级,能判断运算符执行的顺序

image.png

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

逻辑与比逻辑或优先级高

语句(后续补进)