Javascript引用类型问题

毕设向导 课程设计 1

题目

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

回复

共1条回复 我来回复
  • 源码项目助手
    这个人很懒,什么都没有留下~
    评论

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

    0条评论

发表回复

登录后才能评论