//类似这种情况,map函数这个返回值会放在哪里?同样保存在内存中吗?
arr.map(item=>{
return item*2
})
//类似这种情况,map函数这个返回值会放在哪里?同样保存在内存中吗?
arr.map(item=>{
return item*2
})
返回值不存在垃圾回收, 只存在被覆盖的问题. 函数返回值通常都是使用特定的寄存器来存放的, 比如32位以内的返回值类型会存放在 eax 中, 即使你不使用它, 返回值还是会在 eax 中, 这个值也一直不会被回收, 但是后续其他的操作可能会使用 eax 存储新的值, 此时上一个函数的返回值就被覆盖掉. 这不是一个垃圾回收机制!
13 回答13.1k 阅读
7 回答2.3k 阅读
3 回答1.4k 阅读✓ 已解决
6 回答1.4k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
6 回答1.2k 阅读
会得到表达式的值, 没有引用到就会垃圾回收