let a = { n: 1 }
a.x = a = { n: 2 }
console.log(a.x);
/**
这道题打印undefined
第一行
开辟了堆内存o1, 存储{n:1}
第二行
a.x 指向后续的运算结果, 即此时o1.x = undefined
a = {n:2}, 即开辟了堆内存o2, 存储{n:2}, a指向o2
a.x即o1.x = {n:1,x:{n:2}}
a = {n:2}, 即o2 = {n:2}
console.log(a,x) 即o2.x为undefined
要点在于,a.x指向的是o1的内存,而a后续指向的是o2的内存, 打印时a的指向已经改变为o2
*/
相关文章
- 10-11面试题64:求1+2+……+n
- 10-11面试题 46 1+ 2+3+...+n
- 10-11面试题46:求1+2+ …… +n
- 10-11LeetCode 剑指offer 面试题64. 求1+2+…+n
- 10-11JS面试题:实现a==1&&a==2&&a==3 返回true
- 10-11js 面试题 a.x = a = { n: 2 }
- 10-11整型数组处理算法(八)插入(+、-、空格)完成的等式:1 2 3 4 5 6 7 8 9=N[华为面试题]
- 10-11连续赋值与求值顺序var a = {n:1};a.x = a = {n:2}; alert(a.x);
- 10-11Java面试题:n=2\n1*2*5*6\n--3*4\n\nn=3\n1*2*3*10*11*12\n--4*5*8*9\n----6*7\n如何实现如上结构的数据
- 10-11前端开发面试题JS2