天天看点

ECMAScript的操作符之《赋值操作符》

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)

继续阅读