当前位置:首页 > 每日看点

为什么JS闭包占用内存远比普通JS对象多?

卡卷网1年前 (2025-01-13)每日看点222

list.map(v => ({ v }))是创建了n个Object,而list.map(v => () => v)是创建了n个Function,即使不是闭包而是简单的list.map(v => () => {}),后者也比前者占用的内存多。list.map(v => () => v)时,v这个局部变量会被捕获形成一个闭包,需要额外空间存储,map函数执行n次后实际上此时是有n个闭包。

普通 js 对象带函数list.map(v => ({ v, f: fun_body }))仅仅是创建n个对象后多存储了个f: fun_body属性,略多出来的开销应该都是f属性,都指向fun_body函数。这个应该跟闭包的实现没有关系吧。

const f = (v) => ({getV: () => v, add: () => v++}) const {add, getV} = f(1) console.log(getV()) // 1 add() console.log(getV()) // 2

看上面的代码,闭包可以改变捕获的局部变量的值,而const f = v => v这种普通传参形式的,每次执行过后v局部变量都被销毁了。

个人见解,不一定正确。

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/9084.html

分享给朋友:

相关文章

需要做一个微信小程序项目,大公司价格太高怎么办?

需要做一个微信小程序项目,大公司价格太高怎么办?

一个小程序制作开发多少钱 构建一个微信小程序大概需要花费多少资金? 一、自主开发如果选择自主开发,这里面门道可不少。 微信小程序认证费用: 300 /年 域名费用: 30 - 80 /年 服务器费用: 600 - 3000 /年 这么一…

PS有哪些实用小技巧,小白也能一学就会?

PS有哪些实用小技巧,小白也能一学就会?

不看后悔系列!本篇分享25个PS实用的技巧! 不能保证每个都能让你惊艳,但是却是我用心写出来的,希望对你有帮助。 另外我的知乎也写了接近200篇PS的技巧,超级合集分享! 我目前正在带一个PS/Ai的软件训练营,两个多月搞定两大软件的学…

为什么大家不再提 5G 了?

现在看来,只有美国那种5g的思路是对的。 美国的运营商一开始就发现5g和4g并没有质的飞跃,无非就是提升频率/降低穿透力/提升带宽的故事。而美国运营商又是自负盈亏,因此一开始就仅在人口高密度地区或富裕地区布置5g。 虽然说人家4g也菜,但是…

为什么扫码支付在中国流行,在发达国家被排斥?

因为这是一种落后的技术。 卖菜的大爷花5毛钱就可以打印出一张二维码来接受付款。 你觉着这种先进么?跟先进完全不沾边的。正是因为不先进,所以才能流行。 卖菜大爷用不起一台先进的、具有NFC感应功能的、还能刷各种银行卡的收款机。 这就是现实。…

你为什么讨厌抖音?

我就被抖音毁了。 现在被我媳妇从抖音里拯救出来了。 我为什么会这样说? 我媳妇硕士在读,我文化程度相对就比较低了。 大多数人看抖音其实就是为了一图一乐呵 刚开始我也是这样的,我是2017年在朋友的推荐下注册了抖音,刚开始那时候对抖音不太上瘾…

如何看待 Luv Letter 表示影视飓风专业性实在是让人失望?

一点儿新进展,另外以下有部分需要关注 对于统一变量的问题。这个我在对比上面有写小字解释,我在一开始使用ffmpeg来控制变量。但是发现了不少问题,比如因为遗留bug,会强制将非整数帧的素材转码为VFR导致无法正确帧间对比,因此不考虑,同时尽…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。