美文网首页
关于 js 对象的一个题

关于 js 对象的一个题

作者: coderfl | 来源:发表于2020-04-17 22:46 被阅读0次
    var a = {n:1};
    var b = a;
    a.x = a = {n:2};
    console.log(a);
    console.log(b);
    
    image.png
    解题关键:对象是引用类型->所有的对象赋值其实都是给了这个对象的引用地址
    1. 假设 {n:1} 的地址是1000,那么 a 和 b 的地址也就是1000。假设 {n:2} 的地址是1002

    {n:1} - 1000
    a - 1000
    {n:2} - 1002
    b - 1000

    1. 点的优先级高于等号 a.x 会先执行,然后 a = {n:2} 执行,所以:

    {n:1, x:} - 1000
    a - 1002
    {n:2} - 1002
    b - 1000

    1. a = {n:2} 执行后,又赋值给 a.x,所以:

    {n:1, x:{n:2}} - 1000
    a - 1002
    {n:2} - 1002
    b - 1000

    相关文章

      网友评论

          本文标题:关于 js 对象的一个题

          本文链接:https://www.haomeiwen.com/subject/unxpvhtx.html