提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
一、一元操作符
只能操作⼀个值的操作符叫做⼀元操作符。⼀元操作符是ECMAScript 中最简单的操作符。
1.递增++和递减--
递增和递减操作符直接借鉴⾃
C
,⽽且各有两个版本:前置型和后置型。顾名思义,前置型应该位于要操作的变量之前,⽽后置型则应该位于要操作的变量之后。因此,在使⽤前置递增操作符给⼀个数值加1 时,要把两个加号(
++
)放在这个数值变量前⾯
.
执⾏前置递减操作的⽅法也类似,结果会从⼀个数值中减去1
。使⽤前置递减操作符时,要把两个减号(--
)放在相应变量的前⾯,如下所⽰:
var n = 100;
++n; //把n累加⼀个⼀,相当于是n = n + 1;
--n; //把n累加⼀个⼀,相当于是n = n - 1;
n++; //把n累加⼀个⼀,相当于是n = n + 1;
n-- //把n累加⼀个⼀,相当于是n = n - 1;
2.前置和后置的区别
在没有赋值操作之前,前置和后置是⼀样的,但是在赋值操作时
递增或递减操作符前置-----先累加或累减再赋值
递增或递减操作符后置-----先赋值再累加和累减
var box = 100;
// var age = ++box; //先对box 进⾏了计算再赋值 101
var age = box++; //先赋值 再对box进⾏计算 100
alert(age)
//前++的⽰例:
var a = 1;
var b = ++a;
//也可以写成这样
var a = 1;
var a = a + 1;
var b = a;
console.log(a,b)
//后++的⽰例:
var a = 1;
var b = a++;
//也可以写成这样
var a = 1;
var b = a;
var a = a + 1;
console.log(a,b)
3.其它的类型应用于一元操作符的规则
var n = '90'; n++; //91 数值字符串会⾃动转换成数值
var n = 'abc';n++; //NaN 字符串不能转换成数值的情况下计算,会得NaN
var n = false;n++; //0 累加就是1
var n = 9.9; n++; //10.9;
4.一元加和减操作符
绝⼤多数开发⼈员对⼀元加和减操作符都不会陌⽣,⽽且这两个
ECMAScript
操作符的作⽤与数学书上 讲的完全⼀样。⼀元加操作符以⼀个加号(+
)表⽰,放在数值前⾯,对数值不会产⽣任何影响, 如下⾯的例⼦所示:
var n = 100;
+n; //100 不会产⽣任何的变化
var n = '100';
console.log(typeof n) //STRING
+n; //100 不会产⽣任何的变化
console.log(typeof +n) //NUMBER
console.log(99 + +n)
var n = 'abc';
console.log(+n) //NaN
var n = 100; -n; //-100
var n = false; -n; //0
var n = 9.9; -n; //-9.9
加法和减法⼀般运于算术运算,也可以向上⾯⼀样进⾏类型转换
;
总之:
⼀元加操作符,放在数值前⾯,对数值不会产⽣任何影响