#操作符
ECMA-262描述了一组可用于操作数据值的操作符,包括数学操作符如加、减、位操作符、关系操作符和相等操作符等。
在应用给对象时,操作符通常会调用valueOf()和/或toString()方法来取得可以计算的值。
##一元操作符
只操作一个值的操作符叫做一元操作符。
###1、递增/递减操作符
分为前缀版和后缀版,如(++age, age++)
无论使用前缀递增还是前缀递减操作符,变量的值都会在语句被求值之前改变。(在计算机科学中,这通常被称为具有副作用)
前缀递增和递减在语句中的优先级是相等的,因此会从左到右依次求值。比如:
递增和递减的后缀版本语法一样(分别是++和--)。后缀版和前缀版的主要区别在于,后缀版递增和递减在语句被求值后才发生。
这四个操作符可以作用于任何值,意思是不限于整数——字符串、布尔值、浮点值、甚至对象都可以。递增和递减遵循如下规则:
1.对于字符串,如果是有效的数值形式,则转换为数值再应用改变。变量类型从字符串变成数值。
2.对于字符串,如果不是有效的数值形式,则将变量的值设置为NaN。变量类型从字符串变成数值。
3.对于布尔值,如果是false,则转换为0再应用改变。(如果是true,则转换为1再应用改变)变量类型从布尔值变成数值。
4.对于浮点值,加1或减1。
5.如果是对象,则调用其valeOf()方法取得可以操作的值。如果是NaN,则调用toString()并再次应用其它规则。变量类型从对象变成数值。