javascript - 解释 javascript 中的 +var 和 -var 一元运算符

标签 javascript unary-operator

我正在尝试理解 javascript 中的一元运算符,我在这里找到了本指南 http://wiki.answers.com/Q/What_are_unary_operators_in_javascript其中大部分是有道理的,但我不明白的是如何在实际代码示例中使用以下示例:

+a;
-a;

据我了解 +一个; 旨在使变量成为 a 的正值和 -一个; 旨在使变量成为 a 的负值。我尝试了许多示例,例如:
a = -10;
a = +a;
document.writeln(a);

并且输出仍然是-10;

我也试过:
a = false;
a = +a;
document.writeln(a);

并且输出为0;

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

最佳答案

+运算符不会更改值的符号,而 -运营商确实改变了标志。两个运算符的结果都取决于原始值的符号,无论原始符号如何,两个运算符都不会使值变为正数或负数。

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

关于javascript - 解释 javascript 中的 +var 和 -var 一元运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12120802/

相关文章:

javascript - 将变量的值插入数组是否返回 Void 0?

c++ - 一元加 (+) 对文字字符串

java - 如何在 UnaryOperator java 8 中使用引用方法

c - 一元减号等于 binop 减号吗?

javascript - "Uncaught ReferenceError: window is not defined"p5.js 网络 worker

javascript - 如何在不丢失横幅文本的情况下使用 grunt-contrib-less 进行压缩?

没有复制的 JavaScript 子数组?

javascript - redux-form textarea 值不更新

C++ 逻辑真一元函数

javascript - 一元运算符 +(variable) 的解释与 Number(variable) 相同吗?