let a = b = 1 执行顺序

// let a = b = 1;

// // 上面的赋值顺序是 a = 1; b = 1;

// console.log(a, b)

let obj1 = {x: 100}

let obj2 = obj1

obj1.y = obj1 = {x: 200}

/*

  分析此段代码  obj1.y = obj1 = {x: 200}

  // obj2 此时就是 {x: 100, y: {x: 200}}

  obj1.y = {x: 200}

  // 下面的obj1是直接赋值了,所以跟上面的obj2就脱离了引用关系

  obj1 = {x: 200}

*/

console.log(obj1.y) // undefined

console.log(obj2) // {x: 100, y: {x: 200}}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容