学习日志2.2

1.复合算数赋值?
答: *=,+=,-=,%= 等符号的应用是同道理的: 即把左边的移过右边运算(右边用括号包住,表示先运算),结果再给左边(注意左边只能是变量,不可为表达式)A += B 等价于A = A + (B); (B可以是值或表达式,这里的=仍是赋值号哦,B打括号是因为它可以是表达式) 如 x += 1; ===== x= x+1; x += 1+2+3; ===== x =x+(1+2+3); x += a+b+1 ==== x= x+(a+b+1); 要点2:就个这样的符号的运算,则从最右边的那个开始计算,一直到左边例如: A += B %= A -= B--------------3------2----1 (3个这样的符号)从最右边来分析(按符号顺序): 1: A=A-(B) ,得到了A的新值 2:B = B%(A), 得到了B的新值 (注意该A是新值哦) 3: A=A+(B), 再次得到了A的新值 (注意右边的A也是1的新值,B是2的新值)

2.复合位运算赋值?
答:&=,按位与后赋值,变量&=表达式;  
|=,按位或后赋值,变量|=表达式;
=,按位异或后赋值,变量=表达式;>>=,右移后赋值,变量>>=表达式;
<<=,左移后赋值,变量<<=表达式;
例如:a & = b 相当于 a = a & b 。 a << =2 相当于 :a = a << 2 。

3.逻辑运算符&&,||,!的使用?
答: a b !a !b a&&b a||b
1 1 0 0 1 1
1 0 0 1 0 1
0 1 1 0 0 1
0 0 1 1 0 0

4.后缀运算?
答:前缀运算符是在使用变量前先进行运算,后缀是使用后再进行运算。
比如:var a=10;
alert(a++);//输出10,然后a=a+1
alert(++a);//a=a+1,然后输出a

5.左移与右移?
答:<< : 左移运算符,num << 1 相当于num乘以2; >> : 右移运算符,num >> 1 相当于num除以2

你可能感兴趣的:(学习日志2.2)