繁体   English   中英

JavaScript:为什么负数返回正数?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM