这是一道前端面试题:
var a = {n: 1} var b = a; a.x = a = {n: 2} console.log(a.x); //undefined console.log(b.x) //Object {n:2}
可是变形为如下:
var a = {n: 1}; var b = a; a.x = {n: 2}; a = {n: 2}; console.log(a.x); //undefined console.log(‘222‘+b.x) //Object {n:2} console.log(b); //{n:1,x:{n:2}}
首先,先定义后执行的原则要明确一下;
然后就是,从上面的例子可以得出结论,当右边赋值于左边的时候,而左边存在两个等号两个变量的时候,赋值顺序从左到右,由上至下;
时间: 2024-10-19 04:26:02