ECMAScript 赋值运算符,简单的赋值运算符由等号(=)实现,只是把等号右边的值赋予等号左边的变量。
算术运算以及复合赋值运算符:
1、乘法/赋值(*=)
2、除法/赋值(/=)
3、取模/赋值(%=)
4、加法/赋值(+=)
5、减法/赋值(-=)
6、左移/赋值(<<=)
7、有符号右移/赋值(>>=)
8、无符号右移/赋值(>>>=)
下面咱们单独拿出来解说一下:
一、乘法/赋值(*=)
var num1 = 10;
console.log(num1 = 3);//30
数学公式:num1 = num1 3
二、除法/赋值(/=)
var num2 = 30;
console.log(num2 /= 2);//15
数学公式:num2 = num2 / 2
三、取模/赋值(%=)
var num3 = 32;
console.log(num3 %= 5);//2
数学公式:num3 = num3 % 5
四、加法/赋值(+=)
var num4 = 12;
console.log(num4 += 5);//17
数学公式:num4 = num4 + 5
五、减法/赋值(-=)
var num5 = 12;
console.log(num5 -= 5);//7
数学公式:num5 = num5 – 5
六、左移/赋值(<<=),正负数操作一样
var num6_1 = -120;
var num6_2 = -120;
var num6_3 = -120;
console.log(num6_1 <<= 1);//1201=240
console.log(num6_2 <<= 2);//12022=480
console.log(num6_3 <<= 3);//120222=960
计算方式:
如:var Z = X <<= Y;
数学公式:Z = X * (2的Y次方)
七、有符号右移/赋值(>>=),正负数操作一样
var num7_1 = -120;
var num7_2 = -120;
var num7_3 = -120;
var num7_4 = -120;
console.log(num7_1 >>= 1);// 120/2=60
console.log(num7_2 >>= 2);// 120/(22)=30
console.log(num7_3 >>= 3);// 120/(222)=15
console.log(num7_4 >>= 4)// 120/(2222)=7.5取7
计算方式:
如:var Z = X >>= Y;
正数数学公式:Z = X/(2的Y次方) => 再取证
正数数学公式:Z = X/(2的Y次方) – 1 => 再取证
八、无符号右移/赋值(>>>=)PS:如果是正数跟《有符号右移/赋值》计算方式一样
这里只举例负数:
var num8_1 = -120;
var num8_2 = -120;
var num8_3 = -120;
var num8_4 = -120;function(){ //跟单:www.gendan5.com
console.log(num8_1 >>>= 1);//2147483588
console.log(num8_2 >>>= 2);//1073741794
console.log(num8_3 >>>= 3);//536870897
console.log(num8_4 >>>= 4);//268435448
计算方式我得详细的说一下:
代码为:
var num = -120;
var nums = num >>>= 4;
console.log(nums)