Math.abs()

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

Math.abs() 静态方法返回数字的绝对值。

试一试

function difference(a, b) {
  return Math.abs(a - b);
}

console.log(difference(3, 5));
// Expected output: 2

console.log(difference(5, 3));
// Expected output: 2

console.log(difference(1.23456, 7.89012));
// Expected output: 6.6555599999999995

语法

js
Math.abs(x)

参数

x

一个数字。

返回值

x 的绝对值。如果 x 是负数或 -0,则返回其相反数 -x(该数为非负数)。否则,返回 x 本身。因此,结果始终为正数或 0

描述

因为 abs()Math 的一个静态方法,所以你总是使用 Math.abs() 的方式来调用它,而不是作为你创建的 Math 对象的实例方法(Math 不是构造函数)。

示例

使用 Math.abs()

js
Math.abs(-Infinity); // Infinity
Math.abs(-1); // 1
Math.abs(-0); // 0
Math.abs(0); // 0
Math.abs(1); // 1
Math.abs(Infinity); // Infinity

参数的类型转换

Math.abs() 会将参数转换为数字。无法转换的值将变成 NaN,从而导致 Math.abs() 也返回 NaN

js
Math.abs("-1"); // 1
Math.abs(-2); // 2
Math.abs(null); // 0
Math.abs(""); // 0
Math.abs([]); // 0
Math.abs([2]); // 2
Math.abs([1, 2]); // NaN
Math.abs({}); // NaN
Math.abs("string"); // NaN
Math.abs(); // NaN

规范

规范
ECMAScript® 2026 语言规范
# sec-math.abs

浏览器兼容性

另见