为了账号安全,请及时绑定邮箱和手机立即绑定

一个赋值运算的问题

一个赋值运算的问题

一只斗牛犬 2018-11-23 19:15:05
var a=0;b=(a=3)+(a=4);alert(a);alert(b);结果a=4,b=7想问一下,a为什么是4?赋值运算是从右向左的吗?
查看完整描述

1 回答

?
holdtom

TA贡献1805条经验 获得超10个赞

运算顺序:

var a = 0; // a 0

b = (a = 3) + (a = 4);

// a = 3 ----> a为3,整个赋值语句返回3

// a = 4 ----> a为4,整个赋值语句返回4

// 由于返回值的内存和赋值操作用到的a的内存不同,所以b的运算所用的值,只和返回值有关,不受a的值变化的影响,因此,b = 3 + 4 = 7

// 所以,最终a为4,b为7


查看完整回答
反对 回复 2018-12-24
  • 1 回答
  • 0 关注
  • 387 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号