杂症转载

原创
小哥 3年前 (2022-10-17) 阅读数 114 #大杂烩

题目1:

var a = {n: 1}; var b = a; a.x = a = {n: 2};

console.log(a.x)
console.log(b.x)

a.x     // --> undefined
b.x     // --> {n: 2}

解析:

  • 1,优先。、优先事项。 . 优先级高于优先级高于优先级高于 = 所以首先执行所以首先执行所以首先执行 a.x 堆内存的堆内存的堆内存 {n: 1} 就会变成 {n: 1, x: undefined} 变更后对应的变更后对应的变更后对应的 b.x 也会更改,因为它指向相同的对象。
  • 2赋值运算是赋值运算,赋值运算是 从右到左 所以首先执行所以首先执行所以首先执行 a = {n: 2}a 引用被更改,然后将此返回值分配给 a.x 重要的是要注意,在这个时候,重要的是要注意,在这个时候,应该注意到,在这个时候 a.x 是世界的第一步是世界的第一步 {n: 1, x: undefined} 那个对象,事实上是那个对象,事实上是那个对象,实际上是 b.x ,相当于 b.x = {n: 2}

转载于:https://www.cnblogs.com/anbozhu7/p/11270250.html

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

上一篇:image转载 下一篇:div水平垂直居中转载