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