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