練習題
let a = {
n: 1
};
let b = a;
a.x = a = {
n: 2
};
console.log(a.x);
console.log(b);
該題主要考察的是對堆棧了解
解題:
1. 首先前兩句聲明了一個堆{n:1} 以及兩個指向該內(nèi)存地址的a與b
2. a.x=a={n:2;} 分為三步驟。
1. 聲明一個新的堆`{n:2}`
2. a.x 指向一個新的堆 此時 `a,b={n:1,x:{n:2}}`
3. a 從新指向`{n:2}` 因此此時a與b不再是同一個堆內(nèi)存 `a={n:2}` `b={n:1,x:{n:2}}`
答案為 a.x = undefined \ b = {b={n:1,x:{n:2}}}
主要還是細心~