javascript位运算符与赋值运算符

maolai web前端javascript位运算符与赋值运算符已关闭评论317阅读模式

一、位运算符

PS:在一般的应用中,我们基本上用不到位运算符。虽然,它比较基于底层,性能和速度会非常好,而就是因为比较底层,使用的难度也很大。

位运算符有七种,分别是:位非NOT(~)、位与AND(&)、位或OR(|)、位异或XOR(^)、左移(<<)、有符号右移(>>)、无符号右移(>>>)。

var box = ~25; //-26

var box = 25 & 3; //1

var box = 25 | 3; //27

var box = 25 << 3; //200

var box = 25 >> 2; //6

var box = 25 >>> 2; //6

更多的详细:ECMAScript位运算符:http://www.w3school.com.cn/js/pro_js_operators_bitwise.asp

二、赋值运算符

赋值运算符用等于号(=)表示,就是把右边的值赋给左边的变量。

var box = 100; //把100赋值给box变量

复合赋值运算符通过x=的形式表示,x表示算术运算符及位运算符。

var box = 100;

box = box +100; //200,自己本身再加100

这种情况可以改写为:

var box = 100;

box += 100; //200,+=代替box+100

除了这种+=加/赋运算符,还有其他的几种如下:

1.乘/赋(*=)

2.除/赋(/=)

3.模/赋(%=)

4.加/赋(+=)

5.减/赋(-=)

6.左移/赋(<<=)

7.有符号右移/赋(>>=)

8.无符号有移/赋(>>>=)

三、其他运算符

1.字符串运算符

字符串运算符只有一个,即:"+"。它的作用是将两个字符串相加。

规则:至少一个操作数是字符串即可。

var box = '100' + '100'; //100100

var box = '100' + 100; //100100

var box = 100 + 100; //200

2.逗号运算符

逗号运算符可以在一条语句中执行多个操作。

var box = 100, age = 20, height = 178; //多个变量声明

var box = (1,2,3,4,5); //5,变量声明,将最后一个值赋给变量,不常用

var box = [1,2,3,4,5]; //[1,2,3,4,5],数组的字面量声明

var box = { //[object Object],对象的字面量声明

1 : 2,

3 : 4,

5 : 6

};

3.三元条件运算符

三元条件运算符其实就是后面将要学到的if语句的简写形式。

var box = 5 > 4 ? '对' : '错'; //对,5>4返回true则把'对'赋值给box,反之。

相当于:

var box = ''; //初始化变量

if (5 > 4) { //判断表达式返回值

box = '对'; //赋值

} else {

box = '错'; //赋值

}

四、运算符优先级

在一般的运算中,我们不必考虑到运算符的优先级,因为我们可以通过圆括号来解决这种问题。比如:

var box = 5 - 4 * 8; //-27

var box = (5 - 4) * 8; //8

但如果没有使用圆括号强制优先级,我们必须遵循以下顺序:

运算符 描述
.[]() 对象成员存取、数组下标、函数调用等
++ -- ~ !delete new typeof void 一元运算符
* / % 乘法、除尘、去模
+ - + 加法、减法、字符串连接
<< >> >>> 移位
< <=> >=instanceof 关系比较、检测类实例
== != === !== 恒等(全等)
& 位与
^ 位异或
| 位或
&& 逻辑与
|| 逻辑或
?; 三元条件
= x= 赋值、运算赋值

 
maolai
  • 本文由 maolai 发表于 2016年7月14日 19:50:14
  • 转载请务必保留本文链接:http://www.bokequ.com/115.html