数字类型
在编程中,即使是人人熟知的最普遍的十进制数,也比想象的要复杂的多。我们使用不同的术语来描述不同类型的十进制数,例如:
- 整数 就是整数,例如 10, 400, 或者 -5.
- 浮点数 (浮点) 有小数点或小数位,例如 12.5,和 56.7786543。
- 双精度是一种特定类型的浮点数,它们具有比标准浮点数更高的精度(这意味着它们精确到更大的小数位数)。
有不同类型的数字系统,除了十进制外,还有:
- 二进制 — 计算机的最基础语言—— 0 和 1
- 八进制 — 基数8,每列使用0-7
- 十六进制 — 基数16,每列使用0-9,然后使用a-f。 在CSS中设置颜色时,可能会遇到这些数字。
与其他一些编程语言不同,JavaScript只有一个数据类型用来表示数字(包括 integers 和 decimals ),Number
。 这意味着,在JavaScript中处理的任何类型的数字,都以完全相同的方式处理它们。
运算符
运算符也称为操作符。
通过运算符可以对一个或多个值进行运算或操作。
算术运算符
算术运算符是我们用来做和的基本运算符:
运算符 | 名称 | 作用 | 示例 |
---|---|---|---|
+ |
加法 | 两个数相加。 | 6 + 9 |
- |
减法 | 从左边减去右边的数。 | 20 - 15 |
* |
乘法 | 两个数相乘。 | 3 * 7 |
/ |
除法 | 用右边的数除左边的数 | 10 / 5 |
% |
求余(有时候也叫取模) | 在你将左边的数分成同右边数字相同的若干整数部分后,返回剩下的余数 | 8 % 3 (返回 2,8除以3的倍数,余下2 。) |
** |
幂 | 取底数的指数次方,即指数所指定的底数相乘。它在EcmaScript 2016 中首次引入。 | 5 ** 5 (返回 3125,相当于 5 * 5 * 5 * 5 * 5 。) |
自增和自减运算符
有时候,您需要反复把一个变量加1或减1。 这可以方便地使用增量(++
)和递减( --
)运算符来完成。
++
自增,可以使变量在原值的基础上自增1前++
(++a):++a的值是变量的新值(自增后的值)后++
(a++):a++的值是变量的原值(自增前的值)
--
自减,可以使变量在原值的基础上自减1前--
(–a):–a的值是变量的新值(自减后的值)后--
(a–):a–的值是变量的原值(自减前的值)
逻辑运算符
!非运算可以对一个布尔值进行取反,
true
变false
,false
变`true``- 当对非布尔值使用
!
时,会先将其转换为布尔值然后再取反 - 我们可以利用两个
!
来将其他的数据类型转换为布尔值
- 当对非布尔值使用
&&
可以对符号两侧的值进行与
运算- 只有两端的值都为
true
时,才会返回true
。只要有一个false
就会返回false
- 与是一个短路的与,如果第一个值是
false
,则不再检查第二个值 - 对于非布尔值,它会将其转换为布尔值然后做运算,并返回原值
- 如果第一个值为
false
,则返回第一个值 - 如果第一个值为
true
,则返回第二个值
- 如果第一个值为
- 只有两端的值都为
||
可以对符号两侧的值进行或
运算- 只有两端都是
false
时,才会返回false
。只要有一个true
,就会返回true
- 或是短路的或,如果第一个值是
true
,则不再检查第二个值 - 对于非布尔值,它会将其转换为布尔值然后做运算,并返回原值
- 如果第一个值为
true
,则返回第一个值 - 如果第一个值为
false
,则返回第二个值
- 如果第一个值为
- 只有两端都是
赋值运算符
赋值运算符是向变量分配值的运算符。比如=
, 它只是将右边的值赋给左边的变量。
还有一些更复杂的类型,它们提供了有用的快捷方式,可以使您的代码更加清洁和高效。 最常见的如下:
运算符 | 名称 | 作用 | 示例 | 等价于 |
---|---|---|---|---|
+= |
加法赋值 | 右边的数值加上左边的变量,然后再返回新的变量。 | x = 3;x += 4; |
x = 3;x = x + 4; |
-= |
减法赋值 | 左边的变量减去右边的数值,然后再返回新的变量。 | x = 6;x -= 3; |
x = 6;x = x - 3; |
*= |
乘法赋值 | 左边的变量乘以右边的数值,然后再返回新的变量。 | x = 2;x *= 3; |
x = 2;x = x * 3; |
/= |
除法赋值 | 左边的变量除以右边的数值,然后再返回新的变量。 | x = 10;x /= 5; |
x = 10;x = x / 5; |
比较运算符
有时,我们将要运行真/假测试,然后根据该测试的结果进行相应的操作 - 为此,我们使用比较运算符。
运算符 | 名称 | 作用 | 示例 |
---|---|---|---|
=== |
严格等于 | 测试左右值是否相同 | 5 === 2 + 4 |
!== |
严格不等于 | 测试左右值是否不相同 | 5 !== 2 + 3 |
< |
小于 | 测试左值是否小于右值。 | 10 < 6 |
> |
大于 | 测试左值是否大于右值 | 10 > 20 |
<= | 小于或等于 | 测试左值是否小于或等于右值。 | 3 <= 2 |
>= | 大于或等于 | 测试左值是否大于或等于正确值。 | 5 >= 4 |
三元运算符
…?…:…
语法:条件表达式?
语句1:
语句2- 执行流程:
- 先对条件表达式求值判断
- 如果判断结果为
true
,则执行语句1,并返回执行结果 - 如果判断结果为
false
,则执行语句2,并返回执行结果
GitHub Issues