首页 /  技术专区  /  JavaScript 宽屏模式 >

JavaScript赋值运算符、一元运算符、比较运算符、逻辑运算符

1. 赋值运算符

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

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

其他赋值运算符:

    +=

    -=

    *=

    /=

    %=

我们以 += 赋值运算符为例子

以前我们让一个变量加1如何做的?

let num = 1
num = num + 1
console.log(num)

现在我们有一个简单的写法

let num = 1
num += 1
console.log(num)



2. 一元运算符

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

二元运算符:

例:

let num = 10 + 20

一元运算符

    例:正负号

自增:

    符号:++

    作用:让变量的值 +1


自减:

    符号:--

    作用:让变量的值 -1

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


自增运算符的用法:

前置自增:

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

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

其作用相当于num+=1

先自加再使用(++在前 先加

let i = 1
console.log(++i)    // 2


后置自增:

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

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

其作用相当于num +=1

先使用后自加(++在后 后加

let i = 1
console.log(i++)    // 1
console.log(i)      // 2



3. 比较运算符

>

左边是否大于右边

<

左边是否小于右边

>=

左边是否大于或等于右边

<=

左边是否小于或等于右边

==

左右两边值是否相等

===

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

!==

左右两边是否不全等


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


对比:

= 单等是赋值

== 是判断

=== 是全等

开发中判断是否相等,强烈推荐使用 ===

console.log(3 > 5)      // false
console.log(3 >= 3)     // true
console.log(2 == 2)     // true
// 比较运算符有隐式转换 把 '2' 转换为 2  双等号 只判断值
console.log(2 == '2')   // true
// === 全等判断 值 和 数据类型 都一样才行
console.log(2 === '2')  // false
console.log(NaN === NaN)// false    NaN 不等于任何,包括它自己
console.log(2 !== '2')  // true
console.log(2 != '2')   // false
console.log('a' < 'b')      // true
console.log('aa' < 'ab')    // true
console.log('aa' < 'aac')   // true


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

    从左往右依次比较

    如果第一位一样再比较第二位,以此类推

    比较的少,了解即可


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

    涉及到 "NaN" 都是 false


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


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

    最终把数据隐式转换转成 number 类型再比较

    所以开发中,如果进行准确的比较我们更喜欢 === 或者 !==


4. 逻辑运算符

提问: 如果我想判断一个变量 num 是否大于5且小于10,怎么办?

错误写法:5<num<10

使用场景:逻辑运算符用来解决多重条件判断

正确写法:num>5 && num<10

Image.png

5. 运算符优先级

优先级

运算符

顺序

1

小括号

()

2

一元运算符

++    --   !

3

算数运算符

先 * / 后 + -

4

关系运算符

>   >=   <   <=

5

相等运算符

==   !=   ===   !==

6

逻辑运算符

先&& 后||

7

赋值运算符

=

8

逗号运算符

,

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

逻辑与比逻辑或优先级高


6. 逻辑中断

1.逻辑运算符里的短路

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

Image.png

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

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






头像
0/200
图片验证码