📅  最后修改于: 2023-12-03 15:16:05.448000             🧑  作者: Mango
在 JavaScript 中,Infinity 属性代表正无穷大。它是一个全局属性,即可以在任何地方访问。
Infinity
Infinity 属性返回的是一个数值类型,它代表的是正无穷大。
console.log(Infinity); // 输出 Infinity
console.log(typeof Infinity); // 输出 number
console.log(10 / 0); // 输出 Infinity
console.log(-10 / 0); // 输出 -Infinity
Infinity 属性可以用于表示一个数值超过了 JavaScript 能够表示的范围。由于它是一个数值类型,所以可以和其他数值类型进行计算操作。
与其他数值类型进行比较时,Infinity 总是比其他数值大。两个 Infinity 相等。
console.log(Infinity > 1); // 输出 true
console.log(Infinity > Infinity); // 输出 false
console.log(Infinity === Infinity); // 输出 true
与其他数值类型进行运算时,Infinity 的运算规则如下:
console.log(10 / Infinity); // 输出 0
console.log(10 / -Infinity); // 输出 -0
console.log(Infinity * 10); // 输出 Infinity
console.log(-Infinity * 10); // 输出 -Infinity
console.log(Infinity - 10); // 输出 Infinity
console.log(Infinity + 10); // 输出 Infinity
任何数除以 0 都会得到 NaN,Infinity 除以 Infinity 也会得到 NaN。
console.log(1 / 0); // 输出 Infinity
console.log(-1 / 0); // 输出 -Infinity
console.log(0 / 0); // 输出 NaN
console.log(Infinity / Infinity); // 输出 NaN
Infinity 在编写代码时可以用来表示一个计算结果溢出的情况。例如:
function sum(numbers) {
let result = 0;
for (let i = 0; i < numbers.length; i++) {
result += numbers[i];
if (result === Infinity) {
throw new Error('计算结果溢出!');
}
}
return result;
}