运算符的分类及运用

运算符的分类 

1. 数量的区分

一元运算符: () .

二元运算符: + -  * / %(取余)

三元运算符:  ?:

2. 功能区分

算术运算符:(数学)  自增++  自减-- 

>  前置 ++  ++a  先将a自身加1  然后将a的返回值参与运算

>  后置 ++  a++  先将a的值参与运算 然后对a进行加1

比较运算符:> >= < <=  ==  ===

逻辑运算符:&& ||  !

位运算符:^

### 其他类型的数据使用算数运算

1. 除了加号运算符之外的算数运算符

将原始类型转换为数字类型(自动转换) 然后进行运算

1. boolean  true -> 1 false -> 0

2. string  如果字符串是一个正确的数字 直接转换为数字类型 参与运算

3. null  -> 0

4. undefined -> NaN

5. 引用类型  - NaN

2. 加号运算符

    1. 加号又一边有字符串,含义变成了做字符串的拼接

    2. 加号两边都没有字符串 但是有一个数据为对象 对象自动转换为[object Object] 然后做字符串的拼接

比较运算符

比较运算符:> >= < <=  ==  === != !==

**比较运算符的返回值是boolean**

**算数运算符的优先级高于比较运算符**

### 大小比较

1. > >= < <=

**细节**

1. 两个比较的操作数时字符串,比较的是字符串的字符编码

2. 如果一个不为字符串,并且两个都为原始类型,将他们同时转换为数字进行比较

3. NaN与任意数据进行比较都是false,包括自身

4. 如果其中之一为对象,转换成原始类型"[object Object]" ,然后按照规则1和2进行比较

### 相等比较

2. ==  === !== !===

== 比较两个数据是否相等

!= 比较两个数据是否不相等

1. 两端类型不同

   1. null 和 undefined 进行比较时保持相等 , 和其他原始类型比较 都不相等

   2. 其他原始类型,先转换为数字再进行比较

   3. infinity和-infinity  自身和自身相等

   4. 对象要先转换为原始类型再进行比较

### 全等比较

===

!==

1. 同时比较数据和类型是否相等


 

## 逻辑运算符

逻辑运算符:&& ||  !

### 逻辑与(并且)

符号 &&

表达1 && 表达式2 

1. 对表达式1进行Boolean判断

null  -> false

undefined  -> false

0  -> false

NaN  -> false

"" ->false

false

其他数据全部为真  

2. 如果表达式1的值为假 直接返回表达式1的值,否则,返回表达式2的值


 

### 逻辑或

||

表达式1 || 表达式2

1. 对表达式1进行Boolean判断

2. 如果表达式1的值为真 直接返回表达式1的值,否则,返回表达式2的值

### 逻辑非

一元运算符


 

## 三元运算符

? :

表达式1 ? 表达式2 : 表达式3

1. 对表达式1进行Boolean判断

2. 如果判定的结果为真返回表达式2的值,否则返回表达式3的值



 

## 位运算符(扩展)

将一个整数的二进制格式进行运算

在js中,如果对一个数进行位运算,现将这个数转换为整数,并且按照32位二进制排列

### 位与运算

&

整数1 & 整数2

将两个整数每一位进行比较 如果都为1 结果为1 否则为0

### 位或运算

|

整数1 | 整数2

将两个整数每一位进行比较 如果有一个为1 结果为1 否则为0

### 非(否)运算

~

取反

### 异或运算

^

将表达式1和表达式2 进行比较  相同取0 不同取1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值