2021-03-19アドレスインタビュー質問01

面接の質問に対処する

        let a = {
    
     name: '1' }
        let b = a
        a.x = a = {
    
     name: '2' }
        console.log(a.x) //undefined
        console.log(b.x)//{ name: "2" }


最初の分析

 		a.x = a = {
    
     name: '2' }
 		等于
  		a.x = {
    
     name: "2" }
        a = {
    
     name: "2" };

など

        let a = {
    
     name: '1' }
        let b = a  //复制a的内存地址  浅复制 a和b指向同一个内存地址
        // a.x = a = { name: '2' }
        //a和b指向同一个内存地址 a发生改变b也改变
        a.x = {
    
     name: "2" }
        //a被重新赋值 a内存地址改变  a和b不再指向同一个地址
        a = {
    
     name: "2" };
        console.log(a.x) //undefined  a中没有x属性
        console.log(b.x)//{name: "2"}

おすすめ

転載: blog.csdn.net/qq_43291759/article/details/114996566