本文最后更新于 2024-03-23T16:32:24+00:00
问题:简述输出以下代码的执行结果并解释为什么 ?
1 2 3 4 5 6
| var a = { n: 1 }; var b = a; a.x = a = { n: 2 };
console.log(a.x) console.log(b.x)
|
1 2 3 4 5 6 7 8 9 10 11 12
| 解析: 核心点为:a.x = a = { n: 2 }; 这是一个复合赋值操作,执行顺序为从右到左 a = { n: 2 }; ⭐️ a.x = a 这其中的 a.x 中的 a 还是旧值,即跟 b 指向的对象 所以 a.x = b.x = a
所以最后 a = { n: 2 }; b = { n: 1, x: { n: 2 } }
可以将 a.x = a = { n: 2 }; 分成如下代码: a.x = { n: 2 } a = { n: 2 };
|
13、简述输出以下代码的执行结果并解释为什么 ?
https://mrhzq.github.io/职业上一二事/前端面试/每日一题/13、简述输出以下代码的执行结果并解释为什么 ?/