📜  JavaScript Infinity 属性(1)

📅  最后修改于: 2023-12-03 15:16:05.448000             🧑  作者: Mango

JavaScript Infinity 属性

在 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 的运算规则如下:

  • 任何数值除以 Infinity 等于 0。
  • 任何非零数值除以 -Infinity 等于 0。
  • Infinity 乘以任何非零数值等于 Infinity。
  • -Infinity 乘以任何非零数值等于 -Infinity。
  • Infinity 减去任何非 Infinity 数值等于 Infinity。
  • Infinity 加上任何非 Infinity 数值等于 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
NaN

任何数除以 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;
}
注意事项
  • Infinity 是只读的,不可被赋值。
  • Infinity 不等于 NaN。