[英]JavaScript: Why does a negative number return a positive?
好的,我写了一个简单的函数,如果number > 0
返回它。 如果number < 0
返回-number
(负数)
在我的测试中:当number < 0
它将它作为正数返回。 为什么?
numberFunc = function(number) { if (number > 0) return number; if (number < 0) return -number; return 0; } const result = numberFunc(-5); console.log(result);
因为,从数学上讲, --1 = +1
,因此将-1
传递到下面的行中将返回1
。
if (number < 0) return -number;
不过,您应该只使用Math.abs()
而不是编写自己的函数。
Math.sign(number)
- 使用这个 Math 函数来确定一个数字是负数、正数还是零。 它将返回 1、-1 或 0。
console.log(Math.sign(3));
// expected output: 1
console.log(Math.sign(-3));
// expected output: -1
console.log(Math.sign(0));
// expected output: 0
console.log(Math.sign('-3'));
// expected output: -1
参考: https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sign
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.