使用javascript操作符——对我来说很陌生

使用javascript操作符——对我来说很陌生,javascript,operators,Javascript,Operators,我正在修补这里的一些代码: 除了一行之外,一切都很清楚——在代码中,两个变量被设置为-1。然后它们被这样使用: var cur = -1, prv = -1; prv = +cur; // what does this do? console.log(prv); // results -1 console.log(cur); // results -1 我熟悉+=的用法——但我以前没有见过这种用法,也不明白为什么会出现(-1)+(-1)=-1 我缺少什么?它是,它将其操作数转换为数字 在你发布

我正在修补这里的一些代码:

除了一行之外,一切都很清楚——在代码中,两个变量被设置为-1。然后它们被这样使用:

var cur = -1, prv = -1;
prv = +cur; // what does this do?
console.log(prv); // results -1
console.log(cur); // results -1
我熟悉
+=
的用法——但我以前没有见过这种用法,也不明白为什么会出现
(-1)+(-1)=-1

我缺少什么?

它是,它将其操作数转换为数字

在你发布的代码中,它不会有任何净效果。然而,如果是这样的话:

var cur = "-1", prv = -1;
prv = +cur;
然后将“prv”设置为数值
-1
,而不是“cur”引用的字符串。

它是,它将操作数转换为数字

在你发布的代码中,它不会有任何净效果。然而,如果是这样的话:

var cur = "-1", prv = -1;
prv = +cur;

然后将“prv”设置为数值
-1
,而不是“cur”引用的字符串。

@Pointy--谢谢!需要明确的是,这本质上是一种输入cast的速记方式吗?就像使用
parseInt
?@user101289是的,完全正确-只是一种快速的方法。当然,如果无法转换该值,您将得到一个
NaN
@Pointy--谢谢!需要明确的是,这本质上是一种输入cast的速记方式吗?就像使用
parseInt
?@user101289是的,完全正确-只是一种快速的方法。当然,如果无法转换该值,则会得到一个
NaN