JavaScript 运算符【‘算术运算符’,‘赋值运算符’,‘一元运算符’,‘比较运算符’,‘逻辑运算符’,‘运算符优先级’】 详解和配案例 开发当中很重要

1、运算符都有哪些?

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

## 算术运算符

算术运算符:+(加) ,-(减) , *(乘) , / (除), %(取余)

算术运算符优先级顺序:优先级相同时以书从左向右执行
乘、除、取余优先级相同
加、减优先级相同
乘、除、取余、优先级大于加减
使用()可以提升优先级
<font color = red> <font>
**总结小技巧:先乘除后加减,有括号先算括号里面的
 console.log(1+2*3)//返回7
    console.log(10-8/2)//返回6
    console.log(2%5 + 4*2)//返回10

总结


1、算术运算符有那几个常见的?

+(加) ,-(减) , *(乘) , / (除), %(取余)

2、算数运算符优先级怎么记忆?

先乘除后加减,有括号先算括号里面的。

3、取余运算符开发中的使用场景是?

来判断某个数字是否能被整除

## 赋值运算符

赋值运算符:-=;+=;*=;/=;%=

## 赋值运算符


赋值运算符的意义是?
将等号右边的值赋予给左边,要求左边必须是一个容器

 如:  let num = 18
            num = num +1
          console.log(num)

赋值运算符总结:

1、赋值运算符执行过程?

将等号右边的值赋予给左边,要求左边必须是一个容器

2、简化代码,如让let num = 10 ; num 加 5 怎么写?

num+=5

## 一元运算符


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

**一元运算符是这样的**: let num = 1  
**二元运算符是这样的**: let num = 10 + 20
**三元运算符是这样的**: let num = 10 + 20 + 30
**能够使用一元运算符做自增运算**
    自增: ++  作用:让变量的值 +1      用法:  let num = 1 ; ++num //让num的值加1变2
    自减: --  作用:让变量的值 -1      用法:  let num = 4; num-- //让num的值减1变3
**使用场景**:经常用于计数来使用。比如进行10次操作,用它来计算进行了多少次了。


自增运算符和减运算符前置后置的差异?
前置运算符:先自加再使用 (++在前 先加)

let i = 1;
console.log(++i + 2) //结果是4; i是先自加1,变成2之后,在和后面的2相加
后置运算符:先使用再自加 (++在后 后加)
let i = 1;
console.log(i++ +2) //结果是3  注意:此时的i是1  先和2相加,先运算输出完毕后,i再自加是2


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

赋值运算符总结:

1、只需要一个表达式就可以运算的运算符叫一元运算符
2、自增运算符也是为了简化写法,每次自加1,使用场景时什么?

经常用于计数来使用。用来计算多少次
3、前后置自增的区别/

前置:先自增后运算
后置:先运算后自增
自减同理。。。
开发中,我们一般都是单纯使用的,后置++使用更多。

let i = 1
console.log(i++ + ++i + i)//返回7

## 比较运算符

1-比较运算符的介绍

作用:比较两个数据大小,是否相当 返回的正确结果就只要true和false 。错误的结果就是报错
2-比较运算符的使用
目标:能使用常见的比较运算符进行比较运算
如:

: 左边按是否大于右边
< : 做百年是否小于右边
= :左边是否大于或等于右边
<= : 左边是否小于或等于右边
== : 左右两边是否相等
=== : 左右两边是否类型和值都相等
!== : 左右两边是否不全等
比较结果为boolean类型,即只会得到true或false

比较运算符特殊的地方:


字符串比较,是比较的字符对应的ASCLL码 如pink 首字母 p 和red 的r opqrst 一看p比r小 假如第一位一样,再比较第二位,以此类推(从左到右) 了解即可

console.log('pink' > 'red')  //false   
console.log('pink' > 'pin')  //true  我有你没有
console.log(1 === NaN)  //false     NaN 不等于任何人
console.log(NaN === NaN)  //false     NaN 不等于任何人
console.log(0.1 +0.2 === 0.3)//false   尽量不要比较小数,因为小数有精度问题
console.log(0.1+0.2) //返回0.300000000004
console.log(3 > '2') // 不同类型之间比较会发生隐式转换

总结: 不同类型之间会发生隐士转换
1、最终把数据隐士转换成number类型再比较
2、开发中,如果进行准确的比较我们更喜欢 === 或者 !==
= 和== 和===三者区别?
= 是赋值
== 是判断,只要求值相等,不要求数据类型一致也能返回true
=== 是全等 要求值和数据类型一样的才能返回true

比较运算符返回的结果是什么?
结果只有两个 true 和false

## 逻辑运算符

我们掌握逻辑运算符,为程序’能思考‘做准备
学习路径:
1、逻辑运算符的介绍
2、逻辑运算符的使用
3、逻辑运算符里的断路
假如我想判断一个数据大于5且小于10,该怎么办?
错误写法:5 < 数据 < 10
需要运算符用来解决多重条件判断
逻辑运算符都有哪些?

在这里插入图片描述

// // 逻辑与  一假则假   意思是 有一个false 就是 false
// console.log(true && true) //返回true
// console.log( false && true) //返回false
// // 逻辑或  一真则真   意思是 有一个true 就是 true
// console.log( false || false) //返回false
// console.log( false || true )  //返回true
// // 逻辑非   取反
// console.log(!true) //返回false
// console.log(!false)//返回true

逻辑运算符里的断路
断路:只存在于 && 和 ||中,当满足一定条件会让右边代码不执行

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

原因:通过左边能得到整个式子的结果,因此就没必要再判断右边
运算结果:无论&& 还是 ||, 运算结果都是最后执行的表达式值,一般用在变量赋值。
// 有5个值是当false来看的  如 false  数字0   ''  undefined null  其余都是真的
console.log(false && 20) //返回false     左边false   右边就不执行了  直接返回false
console.log( 5 < 3 && 20)// 返回false    5< 3   左边就false  右边就不执行了  直接返回false
console.log( undefined && 20)// 返回undefined     undefined默认就是假的,直接返回undefined
console.log(null && 20 )// 返回null   null 默认就是假的 ,直接返回null
console.log(0 && 20)//  返回0    数字0 默认就是假的  返回0
console.log(10 && 20)// 返回20   10是真的;20是真的;那就是返回20  
// 逻辑或 : 左边为true就断路
console.log(false || 20) //返回20     左边false  左边不断路  直接返回20
console.log(5 < 3 || 20)// 返回20    5< 3   左边就false不断路  直接返回20
console.log(undefined || 20)// 返回20    undefined 默认是假的 但不断路  直接返回20
console.log(null || 20)// 返回20   null 默认就是假的 不断路 ,直接返回20
console.log(0 || 20)//  返回20   数字0 默认就是假的,但它不断路   直接返回20
console.log(10 || 20)// 返回20   10是真的 它断路 ,后边不执行   直接返回10

逻辑运算符总结:
1、逻辑运算符有哪三个?
与(&&) 或(||) 非(!)

2、逻辑运算符断路运算符怎么执行的?

只存在 与(&&) 或(||)中,当满足一定条件会让右边代码不执行
&& 左边为false就断路
|| 左边为true就断路

在这里插入图片描述
运算符优先级练习题

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值