ECMA-262描述了一组用于操作数据值的操作符,包括算术操作符(如加号和减号)、位操作符、关系操作符和相等操作符。ECMAScrip操作符的与众不同之处在于,它们能够适用于很多值,例如字符串、数字值、布尔值、甚至对象。不过,在应用对象的时候,相应的操作符通常都会调用对象的valueOf()或tostring()方法,以便取得可操作的值
**
一元操作符
**
只能操作一个值的操作符叫做一元操作符,一元操作符是最简单的操作符
1、递增和递减操作符
递增和递减操作符有2个版本:前置型和后置型。顾名思义,前置型就是位于要操作的变量之前,而后者型则应该位于要操作的变量之后。因此,在使用前置递增操作符给一个数值加1时,要把两个加号(++)放在这个数值变量前面,如下:
执行前置递减操作的方法也类似,结果会从一个数值中减去1。使用前置递减操作符时,要把两个减号(–)放在相应变量的前面,如下:
执行前置递增和递减操作时,变量的值都是在语句被求值以前改变的,请看下面这个例子:
在这里,num3之所以等于21是因为num1先减去了1才与num2相加,而变量num4也等于21是因为相应的加法操作使用了num1减去1之后的值
后置型递增和递减操作符的语法不变(仍然分别是++和–),只不过要放在变量的后面而不是前面。后置递增和递减与前置递增和递减有一个非常重要的区别,即递增和递减操作是在包含它们的语句被求值之后才执行的,例如:
这里仅仅将前置递减改成了后置递减,就立即可以看到差别。在前面使用前置递减的例子中,num3和num4最后都等于21。而这个例子中,num3等于22,num4等于21。差别的根源在于,这里在计算num3时所用了num1的初始值(2)完成了加法计算,而num4则使用了递减后的值(1)。
2、一元加和减操作符
大家对一元加和减操作符都不会陌生,一元加操作符以一个加号(+)表示,放在数值前面,对数值不会产生任何影响,如下:
一元减操作符主要用于表示负数,例如将1转换成-1。下面的例子演示了这个简单的转换过程: