算数运算符
数学运算符
+
-
*
/
+
-
%
求余运算++
--
(下节课讨论)**
幂运算
细节
- 数字运算是不精确的
- 除数为 0
如果 被除数是正数,得到结果 Infinity(正无穷)。
如果 被除数是负数,得到结果 -Infinity(负无穷)。
如果 被除数是 0,得到结果 NaN(Not a Number,非数字)。
typeof 函数 返回类型为 String(字符串)。
isNaN 函数,该函数用于判断一个数据是否是 NaN,返回类型为 Boolean(布尔)。
isFinite 函数,该函数用于判断一个数据是否是有限的,返回类型为 Boolean(布尔)。
- 求余
%
,有的教程称之为求模。
10 % 2 = 0,
10 % 3 = 1,
-10 % 3 = -1
1
2
3
2
3
提示
求的是 被除数 除以 除数 的余数;即 10 ÷ 2 的余数。
余数的符号,与被除数相同。
其他类型使用算数运算
- 除加号之外的算数运算符
将原始类型转换为数字类型(自动完成转换),然后进行运算。
- boolean:
- true -> 1, false -> 0
- string:
- 如果字符串内部是一个正确的数字,直接变为数字,如果是一个非数字,则得到 NaN(能识别 Infinity,不能把字符串内部的东西当作表达式,如果字符串是一个空字符串(没有任何内容),转换为 0,字符串转换时会忽略前后空格。
NaN 虽然是数字类型,但它和任何数字作任何运算,得到的结果都是 NaN
- null:
- null -> 0
- undefined:
- undefined -> NaN
将对象类型先转为字符串类型,然后再将该字符串转换为数字类型
对象类型 -> "[object Object]" -> NaN
- 加号运算符
- 加号一边有字符串,含义变为 字符串拼接
将另一边的其他类型,转换为字符串
数字 --> 数字字符串
boolean --> boolean 字符串
null --> "null"
undefined --> "undefined"
对象 --> "[object Object]"
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
加号两边都没有字符串,但一边有对象,将对象转换为字符串,然后按照上面的规则进行
其他情况和上面的数学运算一致