四则运算符:
+ - * / %(取余) **(取幂)
- 不同数据类型的之间无奈间接进行算术运算,须要主动进行类型转换
类型转换规定
- 字符串 + 其余数据类型,不是加法运算,而是变成字符串拼接
字符串 与 其余数据类型进行 + 以外的运算,字符串会将本人转为数值类型:
- 字符串为纯数字时,间接转为数字
- 字符串蕴含字符与数字,转为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
开展、合并运算符:
...
- 函数实参地位或数组或对象里应用时作为开展运算符
- 函数形参地位应用时作为开展运算符