Javascript 按位与赋值运算符 (&=)使用介绍

  Javascript 按位与赋值运算符 (&=),对变量值与表达式值设置按位“与”运算的结果。 变量和表达式均被视为 32 位二进制值,而一般表达式里面都是十进制整数,此时需要先转换成对应的二进制,然后向前加0,补足32位。

  

复制代码 代码如下:

  result &= 【整数2】

  等价于

  result = result & 【整数2】

  & 对两个 32 位表达式的每一个位执行按位“与”运算。 如果两个位均为 1,则结果是 1。 否则,结果为 0。

  

位1 位2 位与
0 0 0
1 1 1
0 1 0
1 0 0

  下面的示例演示如何使用 & 位与运算符 和 &= 按位与赋值运算符:

  

复制代码 代码如下:

  // 9 二进制是 1001,补足32位为 00000000000000000000000000001001

  var expr1 = 9;

  // 5 是 00000000000000000000000000000101

  var expr2 = 5;

  /*

  00000000000000000000000000001001

  &

  00000000000000000000000000000101

  =

  00000000000000000000000000000001

  =

  1

  */

  var result = expr1 & expr2;

  alert(result);

  // 弹出【1】

  expr1 &= expr2;

  alert(expr1);

  // 弹出【1】

  JavaScript赋值运算符与表达式

  JavaScript赋值运算符负责为变量赋值,JavaScript赋值运算符包括=,+=,-=,*=,/=,%=

  用赋值运算符和运算对象(操作数)连接起来,符合规则的JavaScript语法的式子,称JavaScript赋值表达式。

  JavaScript赋值运算符与赋值表达式语法

  var i+=a;

  += -- 赋值运算符

  上面表达式的意义是:把i加上a所得的值,赋予变量i。

  JavaScript赋值运算符与赋值表达式

  

运算符 = += -= *= /= %=
名称 赋值运算符 加法赋值运算符 减法赋值运算符 乘法赋值运算符 除法赋值运算符 模赋值运算符(求余赋值运算符)
表达式 i=6 i+=5 i-=5 i*=5 i/=5 i%=5
示例 var i=6; i+=5; i-=5; i*=5; i/=5; i%=5;
i的结果 6 11 1 30 1.2 1
等价于   i=i+5; i=i-5; i=i*5; i=i/5; i=i%5;

  示例解释

  前自增运算符与后自增运算符有本质的区别,它们的相同点都是为自身加了1,不同点是前自增运算符是先加1,再使用操作数的值,后自增运算符是先使用操作数的值,再加1。例如:

  

复制代码 代码如下:

  var a;

  var i=6;

  //(前加加)i加1后,i等于7,并将i值赋予a,于是a等于7

  a=++i;

  document.write(i);

  document.write(a);

  i=6;

  //(后加加)将i值赋予a,于是a等于6,最后i加1,i等于7

  a=i++;

  document.write(i);

  document.write(a);

  结果:

  

复制代码 代码如下:

  7

  7

  7

  6