操作符
操作符用来处理数据值。包括算数操作符(加号、减号等)、位操作符、关系操作符和相等操作符。
1.4.1 一元操作符
只能操作总一个值的操作符叫做一元操作符。是 ECMAScript 中最简单的操作符。
- 递增(++)和递减(–): 直接借鉴于 C 语言,并且分为前置型和后置型。
执行前置递增或递减操作时,变量的值在语句被求值以前改变。
var age = 29;
var anotherAge = --age + 2;
上面两句代码的执行过程和结果相当于:
var age = 29;
age = age - 1;
var anotherAge = age + 2;
alert(age); //28
alert(anotherAge); //30
后置递增与递减与前置相反,变量的值在所在语句求值后再递增或递减。
var age = 29;
var anotherAge = age-- + 2;
相当于:
var age = 29;
var anotherAge = age + 2;
age = age - 1;
alert(age); //28
alert(anotherAge); //31
- 一元加(+)和 减(-): 主要用来表示正数或负数。
1.4.2 位操作符(一般不用)
位操作符用再最基本的层次上,按内存中表示数值的位来操作数值。再 ECMAScript 中每个数值都被存储为 64 位的值。应用位操作符时会先转化位 32 位再执行(31位表示数值,最后一位表示符号)。例如:数值 18 被保存为 000000000000000000000000000010010 。

按位与(&)
与操作由一个和符号表示(&),按位与。var result = 25 & 3; alert(result); //1过程如下:

按位或(|)
- 按位非(~)
- 按位异或(^)
- 左移(<<) 将数值的所有位向左移动指定的位数,以 0 补位。
var num1 = 2 //二进制10 var num2 = num1 << 5; //二进制1000000 十进制64 alert(num2); //64 - 有符号右移(>>) 按位向右移动指定的位数,保留符号位
- 无符号右移(>>>) 将所有 32 位都向右移动
1.4.3 布尔操作符
布尔操作符一共有 3 个:非、与 和 或 。
- 逻辑非(!) 先将操作数转换为布尔值,然后求反。
- 逻辑与(&&)
- 逻辑或(||)
1.4.4 常用操作符
- 加性操作符: 加法(+)、减法(-)
- 乘性操作符: 乘法(*)、除法(/)、求模(%)
- 关系操作符: 小于(<)、大于(>)、小于等于(<=)、大于等于(>=)
- 相等操作符: 相等(==)、不相等(!=)、全等(===)
- 条件操作符: 很实用,很灵活的一种操作符。
var max = (num1 > num2) ? num1 : num2;