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