一尘不染

在JavaScript中解释+ var和-var一元运算符

javascript

我试图了解javascript中的一元运算符,其中的大部分内容都很有意义,但我不理解的是如何在以下示例中使用以下示例一个实际的代码示例:

+a;
-a;

据我了解 + a; 意味着使变量为a和 -a 的正值 意味着使变量为a的负值。我已经尝试了许多示例,例如:

a = -10;
a = +a;
document.writeln(a);

输出仍然是-10;

我也尝试过:

a = false;
a = +a;
document.writeln(a);

输出为0;

这些一元运算符的实际代码示例是什么?


阅读 315

收藏
2020-05-01

共1个答案

一尘不染

+运营商不改变值的符号和-符不改变的迹象。两个运算符的结果都取决于原始值的符号,无论原始符号如何,两个运算符都不会将值设为正或负。

var a = 4;
a = -a; // -4
a = +a; // -4

abs函数执行您认为操作者所做的+事情;无论原始符号是什么,它都会使该值为正。

var a =-4;
a = Math.abs(a); // 4

+a几乎和做一样a * 1; 它将在a需要时将值转换为数字,但此后不会更改该值。

var a = "5";
a = +a; // 5

+操作有时用于字符串转换为数字,但你有parseIntparseFloat功能在一个更具体的方式做转换。

var a = "5";
a = parseInt(a, 10); //5
2020-05-01