Crawlychen 2022-01-16 23:09 采纳率: 25%
浏览 27
已结题

Javascript引用类型问题

题目

img

主要是第三行代码比较迷,我之前是认为第三行代码的执行顺序是:l 先指向了 { x : 20 }这块内存, 然后又将l 赋值给l.y ,g 依然指向原先的不会发生改变,图中的正确答案应该是如何获取到的呢?为什么 g 会有y呢?

  • 写回答

1条回答 默认 最新

  • 归来巨星 前端领域新星创作者 2022-01-17 08:57
    关注

    你的第三行代码 这个是由于运算符优先级,.(字段访问)大于=(赋值操作),所以先进行.运算,此时l还是指向原来内存地址,在原来内存地址新增了y属性,.操作完成以后,再执行从右到左赋值操作,此时l指向新的内存地址,这时再访问l.y肯定就是undefined。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月25日
  • 已采纳回答 1月17日
  • 创建了问题 1月16日

悬赏问题

  • ¥15 c++2013读写oracle
  • ¥15 c++ gmssl sm2验签demo
  • ¥15 关于模的完全剩余系(关键词-数学方法)
  • ¥15 有没有人懂这个博图程序怎么写,还要跟SFB连接,真的不会,求帮助
  • ¥30 模拟电路 logisim
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音