在Javascript中获取数字的绝对值

我想在JavaScript中获得一个数字的绝对值。 那就是放下标志。 我可以用math的方法来解释数字,然后取平方根,但我也知道这是非常低效的。

x = -25 x = x * xx = sqrt(x) // x would now be 25 

在JavaScript中有没有一种方法可以简单地删除比math方法更有效的数字的符号?

你的意思是像获得一个数字的绝对值 ? Math.abs JavaScript函数正是为此目的而devise的。

 var x = -25; x = Math.abs(x); // x would now be 25 

以下是文档中的一些testing用例:

 Math.abs('-1'); // 1 Math.abs(-2); // 2 Math.abs(null); // 0 Math.abs("string"); // NaN Math.abs(); // NaN 

这是获取数字绝对值的一种快速方法。 它适用于每种语言:

 (x ^ (x >> 31)) - (x >> 31); 

如果你想看看JavaScript如何实现这个function,你可以看看这篇文章。

博客文章

这里是基于铬源代码的实现。

 function MathAbs(x) { x = +x; return (x > 0) ? x : 0 - x; }