我已经阅读过这个主题了: Explain +var and -var unary operator in javascript
但我仍然无法理解这个简单的代码:
var a = 3;
console.log(-a); // -3
console.log(+a); // 3
a = -a;
console.log(a); // -3
console.log(+a); // -3
"一元否定运算符在其操作数之前并且否定它。"
"一元加号运算符在其操作数之前,并计算其操作数,但是如果它已经没有,则尝试将其转换为数字。"
但我仍然无法理解为什么console.log(+ a)第一次返回3。
答案 0 :(得分:4)
但我仍然无法理解为什么console.log(+ a)第一次返回3。
此时a
的值为3
。
上一行-a
获取{em>值a
,取消它并将其传递给console.log
。 没有将更改后的值分配回a
。