JavaScript

操作符

操作符用来处理数据值。包括算数操作符(加号、减号等)、位操作符、关系操作符和相等操作符。

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;
    

  转载请注明: 张成的博客 JavaScript

 上一篇
JavaScript变量和作用域 JavaScript变量和作用域
变量和作用域ECMAScript 的变量是松散类型的,也就是说可以用来保存任何类型的数据。 定义变量要使用 var 操作符,后面跟变量名。 var a = 'hello';
2018-09-14
下一篇 
JavaScript数据类型 JavaScript数据类型
数据类型ECMAScript 中有5中简单数据类型:Undefined、Null、Boolean、Number & String。一种复杂数据类型:Object。 1.3.1 typeof操作符用于检测给定变量的数据类型。返回6中类
2018-09-14
  目录