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

浏览: 2,192次 日期:2018年06月20日 19:56:20 作者:青格勒

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);//120*1=240
console.log(num6_2 <<= 2);//120*2*2=480
console.log(num6_3 <<= 3);//120*2*2*2=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/(2*2)=30
console.log(num7_3 >>= 3);// 120/(2*2*2)=15
console.log(num7_4 >>= 4)// 120/(2*2*2*2)=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;
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)

计算的过称为:

 

如果想更准确的知道他的算法请看【ECMAScript运算符之《位运算符》

文章链接:http://cenggel.com/js/103.html

本文章由:青格勒编辑,转载请带上文章链接。w

借鉴网址:【http://www.w3school.com.cn】

点击任意位置关闭窗口,感谢您的支持。


打赏规则 - 为了避免对于打赏模式产生误解,说明一下几点内容:

  • 1.打赏纯粹自愿,金额不限,别太多,1块就行;
  • 2.打赏不能作为解答疑问的理由;
  • 3.打赏不能帮你做毕业设计或论文;
  • 4.打赏不能帮你做工作中的项目;
  • 5.打赏就是这不能那不能,只是单纯打赏而已。
  • 5.最后谢谢支持。
关闭
相关文章

发表评论

邮箱地址不会被公开。 必填项已用*标注