一、 赋值运算符=
注意!!二、 算术运算符
=赋值
==值相等
===值相等类型相同
1. +加法运算符 当+两侧同时为数字时,表示加法运算2.-减法运算符
1 + 1 // 2
当+任何一侧为字符串,表示字符串拼接(进行了隐式转换)
效果如下:
'a' + 'bc' // "abc"
1 + 'a' // "1a" false + 'a' // "falsea"
第一行是两个布尔值相加,第二行是数值与布尔值相加。这两种情况,布尔值都会自动转成数值,然后再相加,效果如下:
true + true // 2 1 + true // 2
a-b3. *乘法运算符
4./除法运算符x * y
5.%取余运算符x / y
x%y自增和自减运算符,是一元运算符 6.自增运算符:
会返回前一个数值除以后一个数值所得的余数。
12 % 5 // 2
运算结果的正负号由第一个数值的正负号决定。
-1 % 2 // -1 1 % -2 // 1
++x
或者 x++
x++先输出,再自增7.自减运算符:
把x原来的值当做整个表达式的值输出
再进行自增
--x先自增,再输出
先进行自增
【JavaScript|JavaScript笔记(四)-----运算符】再把自增后的值作为整个表达式的值进行输出
--x
或者 x--
同上
var x = 1;
++x // 2
x // 2--x // 1
x // 1
除了加法运算符,其他算术运算符(比如减法、除法和乘法)一侧为数字时,都会先把该侧转为数值,再进行相应的数学运算,转换失败,最终结果为NaN(NotaNumber)非数字
1 - '2' // -1
1 * '2' // 2
1 / '2' // 0.5
二、 比较运算符
-
<
小于运算符 -
>
大于运算符 -
<=
小于或等于运算符 -
>=
大于或等于运算符 -
==
相等运算符 -
===
严格相等运算符 -
!=
不相等运算符 -
!==
严格不相等运算符
2 > 1 // true
比较运算符在比较过程中可能会进行类型转换
==
和===的区别:
1. ==
比较两个值是否相等,===
比较它们是否为“同一个值”。
2.如果两个值不是同一类型,===
直接返回false
,而==
会将它们转换成同一个类型,再用严格相等运算符进行比较。
三、逻辑运算符
1. 与 &&
多个条件同时成立为真,否则为假
逻辑与短路运算:
如果表达式1, 结果为真,则返回表达式2
如果表达式1, 结果为假,则返回表达式2
2.或||
多个条件有一个条件成立,就为真
逻辑或短路运算:
如果表达式1, 结果为真,则返回表达式1
如果表达式1, 结果为假,则返回表达式2
3.非!
取反, 假变真真变假
!true // false !false // true
对于非布尔值,取反运算符会将其转为布尔值。以下六个值取反后为
true
,其他值都为false
。undefined
null
false
0
NaN
- 空字符串(
''
)
!undefined // true
!null // true
!0 // true
!NaN // true
!"" // true!54 // false
!'hello' // false
![] // false
!{} // false
五、运算符的优先级
一元运算符里逻辑非优先级很高
逻辑与 比 逻辑 或 优先级高 先 && 后 ||
!> 算术运算符 >关系运算符> 逻辑运算符> 赋值运算符可以用()提高运算的优先级,因为它的优先级是最高的
(4 + 5) * 6 // 54
因为圆括号不是运算符,所以不具有求值作用,只改变运算的优先级。
推荐阅读
- HTML5|HTML5新增标签(一)
- 技术干货|你知道几种前端动画的实现方式()
- 创作|你知道chrome小恐龙游戏吗(3分钟使用JavaScript实现)
- CSS|CSS动画的三种实现方式,你会几种()
- 计算机网络|图解HTTPS非/对称加密,CA证书流程
- JavaScript实现气球打字游戏
- 前端|知识图谱编辑器(KG-Editor)
- 数据结构与算法|「数据结构与算法Javascript描述」二叉树
- 算法|101道算法javaScript描述