JavaScript 的 Number 对象代表数值数据为浮点数。它包含了不同的属性(常量)和方法来操作数字。通常,您不需要担心 Number 对象,因为浏览器会自动将数字字面量转换为数字类的实例。
JavaScript Number 对象可以通过 Number 构造器定义。其他类型的数据,如字符串等,可以使用 Number() 函数转换为数字。
JavaScript 数字总是以浮点值(小数)的形式存储。JavaScript 不区分整数值和浮点值。JavaScript 使用 IEEE 754 标准定义的 64 位浮点格式表示数字。
语法
创建 Number 对象的语法如下:
const val = new Number(number);
如果在 number
的位置上提供的参数是非数字的,并且该参数不能转换成数字,则返回 NaN
(非数字)。
我们也可以通过给变量赋值数字来创建数字原语:
let num1 = 24;
let num2 = 35.65;
JavaScript 会自动将数字原语转换为 Number 对象。因此,我们可以使用 Number 对象的所有属性和方法在数字原语上。
Number 属性
下面是每个属性及其描述的列表:
序号 |
属性 |
描述 |
1 |
EPSILON |
表示 1 和大于 1 的最小浮点数之间的差值。 |
2 |
MAX_SAFE_INTEGER |
返回最大的安全整数值。 |
3 |
MAX_VALUE |
JavaScript 中数字可能的最大值 1.7976931348623157E+308。 |
4 |
MIN_SAFE_INTEGER |
返回最小的安全整数值。 |
5 |
MIN_VALUE |
JavaScript 中数字可能的最小值 5E-324。 |
6 |
NaN |
等于不是一个数字的值。 |
7 |
NEGATIVE_INFINITY |
小于 MIN_VALUE 的值。 |
8 |
POSITIVE_INFINITY |
大于 MAX_VALUE 的值。 |
9 |
prototype |
Number 对象的静态属性。使用 prototype 属性在当前文档中分配新的属性和方法给 Number 对象。 |
10 |
constructor |
返回创建此对象实例的函数。默认这是 Number 对象。 |
Number 方法
Number 对象只包含了默认的方法(实例方法和静态方法),这些方法是每个对象定义的一部分。
实例方法
序号 |
方法 |
描述 |
1 |
toExponential() |
强制数字以指数形式显示,即使该数字在标准表示范围内。 |
2 |
toFixed() |
格式化数字,使其小数点右边有特定数量的数字。 |
3 |
toLocaleString() |
返回当前数字的字符串值版本,格式可能根据本地设置而变化。 |
4 |
toPrecision() |
定义要显示的数字的总位数(包括小数点左边和右边的位数)。 |
5 |
toString() |
返回数字值的字符串表示形式。 |
6 |
valueOf() |
返回数字的值。 |
静态方法
序号 |
方法 |
描述 |
1 |
isNaN() |
检查值是否为有效数字。 |
2 |
isFinite() |
检查数字是否有限。 |
3 |
isInteger() |
当数字是整数值时返回布尔值。 |
4 |
isSafeInteger() |
确保整数是安全的整数。 |
5 |
parseFloat() |
从字符串中解析浮点值。 |
6 |
parseInt() |
从字符串中解析整数值。 |
示例
让我们来看一些例子来演示 Number 的属性和方法。
示例:创建 Number 对象
在下面的例子中,num
变量包含了一个值为 20 的 Number 对象。在输出中,您可以看到 num
变量的类型是对象。
<html>
<body>
<p id = "output"> </p>
<script>
const num = new Number(20);
document.getElementById("output").innerHTML =
"num = " + num + "<br>" +
"typeof num : " + typeof num;
</script>
</body>
</html>
输出
num = 20
typeof num : object
示例:Number 属性
在下面的例子中,我们展示了几个 Number 属性。您可以尝试打印更多属性。
<html>
<body>
<div id="output"></div>
<script>
document.getElementById("output").innerHTML =
"Max Value : " + Number.MAX_VALUE + "<br>"
+"Min Value : " + Number.MIN_VALUE + "<br>"
+"Positive Infinity : " + Number.POSITIVE_INFINITY + "<br>"
+"Negative Infinity : " + Number.NEGATIVE_INFINITY + "<br>"
+"NaN : " + Number.NaN + "<br>";
</script>
</body>
</html>
输出
Max Value : 1.7976931348623157e+308
Min Value : 5e-324
Positive Infinity : Infinity
Negative Infinity : -Infinity
NaN : NaN
示例:Number 方法
在下面的例子中,我们使用了一些 Number 的方法。您可以尝试编辑程序来使用更多方法。
<html>
<body>
<div id="output"></div>
<script>
const num = 877.5312
document.getElementById("output").innerHTML =
"num.toExponetial() is : " + num.toExponential()+ "<br>"
+"num.toFixed() is : " + num.toFixed() + "<br>"
+"num.toPrecision(2) is : " + num.toPrecision(2) + "<br>";
</script>
</body>
</html>
输出
num.toExponetial() is : 8.775312e+2
num.toFixed() is : 878
num.toPrecision(2) is : 8.8e+2
JavaScript Number() 函数
Number() 函数将变量转换为数字。您可以使用它来更改变量的数据类型。
let num = Number(val)
这里的 val
是要转换为数字的变量或值。它不会创建一个 Number 对象,而是返回一个原语值。
示例
在下面的例子中,我们将整数和字符串值传递给了 Number() 函数。在输出中,代码打印了数字值。num2
变量的类型是数字,因为 Number() 函数返回的是原语数字值。
<html>
<body>
<p id = "output"> </p>
<script>
let num = Number(10);
document.getElementById("output").innerHTML =
"num = " + num + "<br>" +
"typeof num = " + typeof num;
</script>
</body>
</html>
输出
num = 10
typeof num = number
示例:转换数字字符串为数字
我们可以使用 Number() 函数将数字字符串转换为数字。尝试下面的例子:
<html>
<body>
<p id = "output"> </p>
<script>
let str = "102.34";
let num = Number(str);
document.getElementById("output").innerHTML =
"num = " + num + "<br>" +
"typeof num = " + typeof num;
</script>
</body>
</html>
输出
num = 102.34
typeof num = number
尝试上面的例子,使用不同的数字,如整数、浮点数、八进制、十六进制等。