运算符和表达式

运算符和表达式

1. 运算符和表达式的概念

1.1 运算符

运算符就是参与运算的符号,像+-*/ 等。

与运算符一起运算的变量、直接量称之为操作数

1.2 表达式

1) 表达式是变量或者直接量与运算符组成的式子,表达式会有一个计算结果,称之为表达式的值,也就是说表达式是有值的。

2) 最简单的表达式是"原始表达式", 如 直接量、 变量名、 关键字等。

3) 复杂表达式由简单表达式组成, 运算符何以将简单表达式组合成复杂表达式。

4) 注意带有副作用的表达式,这样的表达式除了有表达式的计算结果之外,还会对表达式中的变量产生影响。

2. 运算符的分类

2.1 按照操作数个数

  • 一元运算符
  • 二元运算符
  • 三元运算符

2.2 按照运算符功能

  • 算数运算符
  • 关系运算符
  • 逻辑运算符
  • 位运算符
  • 赋值运算符
  • 其他运算符

3 运算符详解(按照功能)

3.1 算术运算符

运算符运算符含义操作数个数组成的表达式的值的类型组成的表达式有无副作用
+加法运算符2number
-加法运算符2number
*乘法运算符2number
/除法运算符2number
%取余(取模)运算符2number
+正号运算符1number
-负号运算符1number
++递增运算符1number
--递减运算符1Number

3.2 关系运算符

运算符运算符含义操作数个数组成的表达式的值的类型组成的表达式有无副作用
==相等运算符2boolean
!=不等运算符2boolean
===全等运算符2boolean
!==不全等运算符2boolean
<小于运算符2boolean
>大于运算符2boolean
<=小于或等于运算符2boolean
>=大于或等于运算符2boolean
in判断一个值是否属于某个数组或者一个属性是否属于一个对象2boolean
instanceof判断一个对象的实例是否属于某个对象2boolean

两个数据在使用关系运算符进行判等的时候,会发生自动类型转换,规则如下:

1)判等的时候(==):

  • 先看两边是不是同种数据类型,如果是直接看是不是一样;如果不是那么两边都转数字
  • 当遇到 null 的时候,会有特殊情况发生。
    • 特殊情况:空串和null不相等
    • 特殊情况:false和null不相等
    • 特殊情况:0和null不相等
    • 特殊情况:undefined 和 null 相等;

2)判断全等(===):(不会出现类型转换)

  • 在判断全等的时候,必须类型和值都相同。
  • 如果有一个不一样,就不全等;

3.3 逻辑运算符

运算符运算符含义操作数个数组成的表达式的值的类型组成的表达式有无副作用
&&逻辑与运算符2会把其中一个操作数的值作为整个表达式的值
||逻辑或运算符2会把其中一个操作数的值作为整个表达式的值
!逻辑非运算符1boolean

3.4 位运算符

运算符运算符含义操作数个数组成的表达式的值的类型组成的表达式有无副作用
&按位与运算符2interger
|按位或运算符2interger
^按位异或运算符2interger
~按位非运算符1interger
<<按位左移运算符1interger
>>按位右移运算符1interger
>>>按位无符号右移运算符1interger

3.5 赋值运算符

运算符运算符含义操作数个数组成的表达式的值的类型组成的表达式有无副作用
=赋值运算符2取决于右边的操作数
+=赋值求和运算符2number
-=赋值求差运算符2number
*=赋值求积运算符2number
/=赋值商运算符2number
%=赋值求余运算2number
&=赋值按位与运算符2interger
|=赋值按位或运算符2interger
^=赋值按位异或运算符2interger
<<=赋值左位移运算符2interger
>>=赋值右位移运算符2interger
>>>=赋值无符号右位移运算符2interger
+=赋值字符串连接运算符2string

3.6 其他运算符

运算符运算符含义操作数个数组成的表达式的值的类型组成的表达式有无副作用
?:条件运算符(JavaScript 中唯一的三元运算符)3取决于中间和后面的操作数
typeof判断操作数类型1string
+字符串连接符2string
delete删除对象属性或者数组元素1boolean
,逗号运算符2取决于第二个操作数的值

4 运算符优先级

运算符优先级

 

注意:

给表达式中的一部分添加(),可以提高此处的优先级。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值