主要是第三行代码比较迷,我之前是认为第三行代码的执行顺序是:l 先指向了 { x : 20 }这块内存, 然后又将l 赋值给l.y ,g 依然指向原先的不会发生改变,图中的正确答案应该是如何获取到的呢?为什么 g 会有y呢?
收起
当前问题酬金
¥ 0 (可追加 ¥500)
支付方式
扫码支付
支付金额 15 元
提供问题酬金的用户不参与问题酬金结算和分配
支付即为同意 《付费问题酬金结算规则》
你的第三行代码 这个是由于运算符优先级,.(字段访问)大于=(赋值操作),所以先进行.运算,此时l还是指向原来内存地址,在原来内存地址新增了y属性,.操作完成以后,再执行从右到左赋值操作,此时l指向新的内存地址,这时再访问l.y肯定就是undefined。
报告相同问题?