本篇文章介绍JavaScript中的连续赋值问题实例分析 JavaScript中的连续赋值: scriptvar a = {n: 1}var b = a;a.x = a = {n: 2}console.log(a.x);//undefinedconsole.log(b.x)//Object {n: 2}/script Javascript中赋值运算符=的优先级是除了,以外最低的,并且
本篇文章介绍JavaScript中的连续赋值问题实例分析 JavaScript中的连续赋值:
Javascript中赋值运算符“=”的优先级是除了“,”以外最低的,并且是从右向左结合的。 Javascript中运算的顺序是从左向右的。 a.x = a = {n: 2}可以看做a.x =(a = {n: 2}) ,先运算a.x,在a中添加x属性,结果为null,在计算表达式(a = {n: 2}),最后进行赋值运算。 修改程序:
运行结果:
|
2021-06-04
2019-01-10
2019-02-17
2021-09-12
2021-09-30