# 造火箭

# js

# 1.第一题,连等问题

var a = {n:1}
var b = a
a.x = a = {n:2}
console.log(a.x)
console.log(b.x)
1
2
3
4
5
  • 请问输出什么?
    解析答案 首先答案是:undefined, {n:2}
    概念:
    连等开始之前程序会把所有引用都保存下来, 连等的过程中,这些值不变 等到整个连等都完事了,在一块变
    执行过程:
    第一行和第二行代码,ab变量都是引用的一块内存地址,根据上面的概念,在连等的过程中,a.x 的赋值操作,其实是给刚才ab变量内存值进行修改,而不是新的{n:2}的内存地址,当整个连等操作完成了,a就会执行{n:2}的新内存地址,而b还是指向了原来的内存地址,但是原来的内存地址已经变成了{n:1,x:{n:2}} 所以才会输出刚才的答案

# HTML

# css

Last Updated: 1/23/2022, 10:16:22 AM