返回
用 JavaScript 更好地理解 Number 数据类型
前端
2023-09-30 20:18:19
Number 是一种数据类型,用于表示数字,由原始值和包装对象组成。原始值是数字本身,如 1、2.5、-3.14 等;包装对象则是一个封装了原始值的对象,如 new Number(1)。
数字类型转换
JavaScript 中提供了多种方式来转换数据类型,包括显式转换和隐式转换。
- 显式转换:使用 Number() 函数或 parseInt() 和 parseFloat() 函数显式地将其他类型的数据转换为数字。
- 隐式转换:当不同类型的数据一起参与运算时,JavaScript 会自动将其中一个或多个数据转换为与另一个数据相同的类型。例如,当字符串与数字相加时,字符串会被转换为数字。
精确度与舍入
JavaScript 中的数字使用 IEEE 754 标准表示,该标准定义了二进制浮点数的格式和运算规则。浮点数在计算机中是以二进制形式存储的,因此存在精度限制。当浮点数进行运算时,可能会出现舍入误差,导致结果与预期值略有偏差。
整数与浮点数
整数是没有小数部分的数字,如 1、2、-3 等。浮点数是有小数部分的数字,如 1.23、-2.567 等。JavaScript 中,整数和浮点数都使用 Number 类型表示。
特殊值(NaN 和 Infinity)
JavaScript 中提供了两个特殊值:NaN 和 Infinity。
- NaN 表示非数字值,通常是由于无效的数字操作引起的,例如 0/0。
- Infinity 表示无限大或无限小,通常是由于数字溢出或下溢引起的,例如 1e1000。
比较运算符
JavaScript 提供了六个比较运算符:
- ==:相等运算符,比较两个值是否相等。
- !=:不等运算符,比较两个值是否不等。
- ===:严格相等运算符,比较两个值是否相等,且类型必须相同。
- !==:严格不等运算符,比较两个值是否不等,且类型必须不同。
-
:大于运算符,比较左边的值是否大于右边的值。
- <:小于运算符,比较左边的值是否小于右边的值。
算术运算符
JavaScript 提供了五个算术运算符:
- +:加法运算符,将两个数字相加。
- -:减法运算符,将两个数字相减。
- *:乘法运算符,将两个数字相乘。
- /:除法运算符,将一个数字除以另一个数字。
- %:取模运算符,返回两个数字相除的余数。
位运算符
JavaScript 提供了六个位运算符:
- &:按位与运算符,将两个数字的二进制位逐位相与。
- |:按位或运算符,将两个数字的二进制位逐位相或。
- ^:按位异或运算符,将两个数字的二进制位逐位相异或。
- <<:按位左移运算符,将一个数字的二进制位向左移动指定位数。
-
:按位右移运算符,将一个数字的二进制位向右移动指定位数。
-
:按位无符号右移运算符,将一个数字的二进制位向右移动指定位数,不会保留符号位。
掌握 JavaScript 中的 Number 类型及其特性,您将能够轻松地处理数字数据,进行数值计算,并构建更加可靠和高效的应用程序。