函数执行空间不销毁 逻辑

function fn() {
  let obj = {
      name: 'Jack',
      age: 18,
      gender: '男'
  }
  
  return obj
}

let o = fn()

 

  • 函数执行的时候,会生成一个函数 执行空间 (我们暂且叫他 xxff00

  • 代码在 xxff00 空间中执行

  • xxff00 这个空间中声名了一个 对象空间(xxff11

  • xxff00 这个执行空间把 xxff11 这个对象地址返回了

  • 函数外部 o 接受的是一个对象的地址没错

    • 但是是一个在 xxff00 函数执行空间中的 xxff11 对象地址

    • 因为 o 变量一直在和这个对象地址关联着,所以 xxff00 这个空间一直不会销毁

  • 等到什么时候,执行一句代码 o = null

    • 此时, o 变量不在关联 xxff00 函数执行空间中的 xxff11 对象地址

    • 那么,这个时候函数执行空间 xxff00 就销毁了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值