javascript - 一个赋值运算的问题
本文介绍了javascript - 一个赋值运算的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
var a=0;
b=(a=3)+(a=4);
alert(a);
alert(b);
结果a=4,b=7
想问一下,a为什么是4?赋值运算是从右向左的吗?
解决方案
运算顺序:
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
这篇关于javascript - 一个赋值运算的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文