一 代码
虽然js在本节将加号减号被列入了一元运算符,但个人更倾向认为它是二元运算符,因为加号减号是可以进行一元、二元运算的。其它高级语言也是将其列为二元运算符,例如C/C++。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
/*
* 1. 一元运算符,只需要一个操作数
* + 正号
* - 正号不会对数字产生任何影响
* - 负号
* - 负号可以对数字进行负号的取反,即获取其相反数。
*
* 2. 对于非Number类型的值,
* 它会将先转换为Number,然后在运算
* 可以对一个其他的数据类型使用+,来将其转换为number
* 它的原理和Number()函数一样
*
*/
var a = 123;
a = +a; // 注意复合运算是a += a;加号在等号之前。
console.log(typeof a); // number
console.log(a); // 123
a = -a;
console.log(typeof a); // number
console.log(a); // -123
a = true;
console.log(typeof a); // boolean
console.log(a); // true
a = "18";
a = +a;
console.log(typeof a); // number
console.log(a); // 18
var result = 1 + +"2" + 3;// 等价于var result = 1 + (+"2") + 3;
console.log("result = " + result);
</script>
</head>
<body>
</body>
</html>