算术运算符
数学运算符
+ - * /
+ -
%
取余++ --
加加 减减**
幂
细节
数字运算是不精确的
除数为0
如果被除数是正数,得到结果 Infinity (正无穷)
如果被除数是负数,得到结果 -Infinity (负无穷)
如果被除数是0,得到结果 NaN (Not a Number,非数字)
typeof函数, 返回数据类型
isNaN函数,该函数用于判断一个数据是否是NaN,返回boolean >true、false
isFinite函数,该函数用于判断一个数据是否是有限的,返回boolean
- 求余(求模)
% :余数的符号,与被除数相同。
其他类型使用算术运算
- 除加号之外的算术运算符
将原始类型转换为数字类型(自动完成转换),然后进行运算。
- boolean: true = 1, false = 0
- string: 如果字符串内部是一个正确的数字,直接变为数字,如果是一个非数字,则得到NaN(能识别Infinity,不能把字符串内部的东西当作表达式),如果字符串是一个空字符串(没有任何内容),转换为0. 字符串转换时,会忽略前后空格。
NaN虽然是数字,但它和任何数字作任何运算,得到的结果都是NaN
+null 结果:0
-null 结果:-0 (历史遗留问题)
undefined * 5 结果:NaN
null * 5 结果:0
- null:null -> 0
- undefined: undefined -> NaN
将对象类型先转换为字符串类型,然后再将该字符串转换为数字类型
对象类型 -> “[object Object]” -> NaN
{} * 5 系统报错
({} * 5) 结果:NaN
- 加号运算符
- 加号一边有字符串,含义变为字符串拼接
将另一边的其他类型,转换为字符串