四则运算符:
+ - * / %(取余) **(取幂)
- 不同数据类型的之间无法直接进行算术运算,需要自动进行类型转换
类型转换规则
- 字符串 + 其他数据类型,不是加法运算,而是变成字符串拼接
字符串 与 其他数据类型进行 + 以外的运算,字符串会将自己转为数值类型:
- 字符串为纯数字时,直接转为数字
- 字符串包含字符与数字,转为NaN
- NaN与任何类型运算都是NaN
- 纯数字字符串转换为数值类型的方法:变量*1、变量-0、变量/1
- 注意点:JavaScript 在计算小数时,会有误差;除数可为0,结果为 Infinity 或 -Infinity
赋值运算符:
= 复合: += -= *= /= %=
- 将等号右边的值 赋给 等号左边的变量
- 复合符号表示:a+=b 等价于 a = a + b
一元运算符:
++ --
- 前置:变量先自增(自减)再使用
- 后置:变量先使用再自增(自减)
关系运算符:
> < >= <= == != === !==
==、!= 与 ===、!== 之间的区别:
- ==、!= 只比较两个变量的值,===、!== 比较两个变量的数据类型和值
比较规则:
- 两边都为数值类型时直接进行比较
- 两边都为字符串类型时对逐个字符ASCII码值进行比较
- 其中一个为数值,另一个转为数值后比较
==与!=的比较规则:
- 其中一个为布尔值,将其转为数值后比较
- 其中一个为字符串,将其转为数值后比较
- 其中一个为NaN,==返回false,!=返回true,NaN与NaN也不相等
逻辑运算符:
&& || !
- 与运算(&&):全为true时,结果为true,遇到为false时,后面的不执行
- 或运算(||):全为false时,结果为false,遇到true,后面的不执行
非运算(!):将数据取反
- 空字符取反:true
- 非空字符取反:false
- 0 取反:true
- 非0 取反:false
- NaN取反:true
- undefined取反:true
三目运算符:
表达式1 ? 表达式2 : 表达式3
- 表达式1成立,执行表达式2;表达式1不成立,执行表达式3
展开、合并运算符:
...
- 函数实参位置或数组或对象里使用时作为展开运算符
- 函数形参位置使用时作为展开运算符
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。