JavaScript 中的正数对负数? ?

基本上是腹肌的反义词,如果我有:

if ($this.find('.pdxslide-activeSlide').index() < slideNum - 1) {
slideNum = -slideNum
}
console.log(slideNum)

无论什么控制台总是返回一个正数。我如何解决这个问题?

如果我这样做:

if ($this.find('.pdxslide-activeSlide').index() < slideNum - 1) {
_selector.animate({
left: (-slideNum * sizes.images.width) + 'px'
}, 750, 'InOutPDX')
} else {
_selector.animate({
left: (slideNum * sizes.images.width) + 'px'
}, 750, 'InOutPDX')
}

它的工作原理,但它不是“干”,只是愚蠢的有一个完整的代码块只为一个 -

319468 次浏览

你确定控制进入 if的主体吗?if的条件是否成立?因为如果它没有,那么 if的主体将永远不会被执行,而 slideNum将保持正值。我大胆猜测一下,这可能就是你所看到的。

如果我在 Firebug 中尝试下面的方法,似乎可以奏效:

>>> i = 5; console.log(i); i = -i; console.log(i);
5
-5

slideNum *= -1也应该工作。就像 Math.abs(slideNum) * -1一样。

腹肌的反面是 Math.abs(num) * -1

Math.abs(num) => Always positive
-Math.abs(num) => Always negative

但是,您应该意识到,对于您的代码

if($this.find('.pdxslide-activeSlide').index() < slideNum-1){ slideNum = -slideNum }
console.log(slideNum)

如果找到的索引是3,SlideNum 是3,
那么3 < 3-1 = > false
所以 SlideNum 还是阳性

在我看来更像是逻辑错误。

将正面转化为负面或将负面转化为正面的基本公式:

i - (i * 2)

要在 JavaScript 中获得数字的负版本,您总是可以使用 ~位运算符。

例如,如果你有 a = 1000并且你需要把它转换成负值,你可以做以下事情:

a = ~a + 1;

也就是说 a-1000

如果您不喜欢使用 Math. Abs * -1,可以使用这个简单的 If 语句: P

if (x > 0) {
x = -x;
}

当然,你可以把它设计成这样的函数

function makeNegative(number) {
if (number > 0) {
number = -number;
}
}

使阴性(- 3) = > -3 使负数(5) = > -5

希望这有帮助! Math.abs 可能会为你工作,但如果它不这么小

使用0-x

X 是你想要反转的数字

var x = 100;
var negX = ( -x ); // => -100
var i = 10;
i = i / -1;

结果: -10

var i = -10;
i = i / -1;

结果: 10

如果你除以负1,它总是会把你的数字反过来。

在普通的 javascript 中

if(number > 0)
return -1*number;

上面的 号码是你想要转换的正数吗

这段代码将仅仅通过乘以 -1将正数转换为负数

num * -1

这个就够了。

它将负数组转换为正数,反之亦然

function negateOrPositive(arr) {
arr.map(res => -res)
};

Javascript 有一个专用的操作符: 一元否定

这是负号!

要否定一个数字,只需以最直观的方式在它前面加上 -即可。不需要编写函数,使用 Math.abs()乘以 -1或使用位运算符。

一元否定适用于数字字面值:

let a = 10;  // a is `10`
let b = -10; // b is `-10`

它也适用于变量:

let x = 50;
x = -x;      // x is now `-50`


let y = -6;
y = -y;      // y is now `6`

如果使用分组操作符,您甚至可以多次使用它(也称为括号:

l = 10;       // l is `10`
m = -10;      // m is `-10`
n = -(10);    // n is `-10`
o = -(-(10)); // o is `10`
p = -(-10);   // p is `10` (double negative makes a positive)

以上所有方法也都适用于一个变量。