数字类型

在编程中,即使是人人熟知的最普遍的十进制数,也比想象的要复杂的多。我们使用不同的术语来描述不同类型的十进制数,例如:

  • 整数 就是整数,例如 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–的值是变量的原值(自减前的值)

逻辑运算符

  • !非运算可以对一个布尔值进行取反,truefalsefalse变`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,并返回执行结果