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