📜  JavaScript 数字(1)

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

JavaScript 数字

在 JavaScript 中,数字是一种基本数据类型,表示数值。本文将介绍 JavaScript 数字的一些特性和用法。

整数和浮点数

在 JavaScript 中,数字既可以表示整数,也可以表示浮点数。整数是没有小数部分的数字,如 1、42、-999。浮点数则是包含小数部分的数字,如 3.14、-0.1、2e-8。

JavaScript 会自动进行类型转换,因此在进行计算时可能会发生意想不到的事情。例如:

console.log(5 / 2);  // 输出 2.5,是一个浮点数
console.log(5 / 0);  // 输出 Infinity,是一个特殊的浮点数
console.log(0 / 0);  // 输出 NaN,也是一个特殊的浮点数
console.log(1 + '2');  // 输出 '12',是一个字符串
数字字面量

在 JavaScript 中,可以使用数字字面量来表示数字。一个数字字面量可以是:

  • 十进制数,如 42、3.14。
  • 八进制数,以 0 开头如,0377。
  • 十六进制数,以 0x 或 0X 开头,如 0xff。
console.log(42);   // 42
console.log(0377); // 255
console.log(0xff); // 255
NaN 和 Infinity

在 JavaScript 中,还有两个特殊的数字值:NaN 和 Infinity。NaN 表示一个非数值,当数字运算无法得到一个确定的结果时就会返回 NaN。Infinity 表示一个无穷大的数,例如从一个数字除以 0 时就会返回 Infinity。

console.log(0 / 0); // NaN
console.log(1 / 0); // Infinity

可以使用全局变量 isNaN() 来判断一个值是否为 NaN,使用 isFinite() 来判断一个值是否为有穷数。

console.log(isNaN(NaN));   // true
console.log(isNaN('hello')); // true
console.log(isNaN(42));    // false

console.log(isFinite(Infinity));  // false
console.log(isFinite(-Infinity)); // false
console.log(isFinite(NaN));       // false
console.log(isFinite(42));        // true
Math 对象

JavaScript 还提供了一个 Math 对象,包含一些与数字相关的方法和常量。例如,Math.PI 表示圆周率,Math.sqrt() 可以计算一个数的平方根,Math.random() 可以生成一个随机数。

console.log(Math.PI);         // 3.141592653589793
console.log(Math.sqrt(25));   // 5
console.log(Math.floor(Math.random() * 10)); // 一个 0 到 9 的随机数
总结

JavaScript 数字是一种基本数据类型,可以表示整数和浮点数,支持自动类型转换。JavaScript 还包含 NaN 和 Infinity 两个特殊的数字值以及 Math 对象,提供了一些与数字相关的方法和常量。这些特性和用法将帮助程序员更好地处理数字数据。