我想在JavaScript中获取数字的绝对值.也就是说,放下标志.我在数学上知道我可以通过平方数然后取平方根来做到这一点,但我也知道这是非常低效的.
x = -25
x = x * x 
x = sqrt(x)
// x would now be 25 
Run Code Online (Sandbox Code Playgroud)
在JavaScript中有没有办法简单地删除一个比数学方法更有效的数字的符号?
Dar*_*rov 102
你的意思是得到一个数字的绝对值?该Math.absJavaScript函数正是为此而设计的.
var x = -25;
x = Math.abs(x); // x would now be 25 
Run Code Online (Sandbox Code Playgroud)
以下是文档中的一些测试用例:
Math.abs('-1');     // 1
Math.abs(-2);       // 2
Math.abs(null);     // 0
Math.abs("string"); // NaN
Math.abs();         // NaN
Run Code Online (Sandbox Code Playgroud)
        End*_*imo 12
这是获取数字绝对值的快速方法.它适用于所有语言:
(x ^ (x >> 31)) - (x >> 31);
Run Code Online (Sandbox Code Playgroud)
        如果您想了解JavaScript如何在幕后实现此功能,您可以查看此帖子.
这是基于铬源代码的实现.
function MathAbs(x) {
  x = +x;
  return (x > 0) ? x : 0 - x;
}
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           43042 次  |  
        
|   最近记录:  |