[Javascript] Assignment question

var a = { n: 1 };
var b = a;
a.x = a = { n: 2 };
console.log(a.x); // undefined
console.log(b.x); // {n: 2}

 

Javascript see the following code, mainly will do 3 things

1. Locate aaddress reference in stack

2. Create {n: 1}in heap

3. Assign address reference to a

var a = {n: 1}

 

var b = a

 

a.x = a = {n: 2}

First locate a.xaddress reference in stack

Second eval a = {n: 2}

Last, assign a.x = <return value of statement>

 

Finally:

console.log(a.x) // undefined
console.log(b.x) // {n: 2}

 

posted @   Zhentiw  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2022-12-09 [React] useImperativeHandle, similar to Angular Directive `exportAs`
2022-12-09 [React 18] useId
2022-12-09 [React] useLayoutEffect
2020-12-09 [Web] Possible bug for Cache the network request
2020-12-09 [Javascript] Broadcaster + Operator + Listener pattern -- 25. Save Network Requests by Using a Cache
2020-12-09 [Java Spring] Aspect
2019-12-09 [Algorithm] 242. Valid Anagram
点击右上角即可分享
微信分享提示