ruxuan1306

ruxuan1306

V2EX 第 369495 号会员,加入于 2018-12-11 00:52:37 +08:00
根据 ruxuan1306 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
ruxuan1306 最近回复了
@june4 我不知道你的水平,不知道如下表述你能否看懂:

const data = { ... } // 在堆上申请了一个空间,储存对象 { ... },并把指针记为 data
const targetObj = build(data) // 向 build 传入 data 这个指针,build 函数在堆上申请了一个新的空间,储存构造出的对象,并将其指针返回,被你记为 targetObj
// build 执行完后,data 指向源对象,targetObj 指向构造出的对象,gc 回收不了任何对象

const data = () => ({ ... }) // 在堆上申请了一个空间,储存函数 () => ({ ... }),并把指针记为 data
const targetObj = build(data()) // 调用 data 函数,data 函数在堆上申请了一个新的空间,储存构造出的对象 { ... },并将其指针返回;向 build 函数传入 data 返回的对象指针,build 函数在堆上申请了一个新的空间,储存构造出的对象,并将其指针返回,被你记为 targetObj
// build 执行完成后其栈空间会被释放,那个存在于其形参的指向堆源对象的指针也被释放,源对象将在稍后被 gc 回收; targetObj 指向构造出的对象


这两种写法,前者在执行完成后内存占用高( gc 无法回收源对象),后者在执行过程中峰值内存占用高(多出一个函数对象的空间)


另外你一直在用 string 类比,要说明的是,在 JavaScript 中基本类型包括 string 是按值传递的,传入函数时是拷贝,而不是像 object 一样是指针。
@june4 string 是值类型,object 是引用类型,看起来这是你的模糊点,找个 AI 聊聊
没省,对象传参是传址,不是传值,后者反而构造 Object 时多了一层构造和调用函数的开销。
学习了,才意识到 IPv6 的默认网关只能从 RA 下发,不像 IPv4 是 DHCP 下发
28 天前
回复了 zenfsharp 创建的主题 教育 孩子快两岁了,需要买课程吗
学龄前就多摸多砸多刨多玩。

这样大了学习文本材料时,脑子里才有画面。

早早跟着和课程鹦鹉学舌,学出来也只是取悦大人的 GPT 。
49 天前
回复了 xhwdy26 创建的主题 程序员 从微服务走向单体化
系统架构本质是组织架构的表现。
63 天前
回复了 imba97 创建的主题 程序员 关于今天给前端返回数据的结构的争论
赞同二楼,写个`rows || data`兼容就行了,来回 battle 加发帖内耗两三小时就过去了。
大多数系统活不过一两年,人生那么多重要的事,还是多花时间汇报吹 b 向上管理。
78 天前
回复了 Licsber 创建的主题 生活 为什么公积金不能当医保刷
集采后,种个 ITI 都不到一万了
137 天前
回复了 bigjie910 创建的主题 问与答 人体工学椅的尽头都是赫曼米勒?
坐瑜伽球
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2244 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 10ms · UTC 01:21 · PVG 09:21 · LAX 17:21 · JFK 20:21
Developed with CodeLauncher
♥ Do have faith in what you're doing.