当前位置:首页 > 每日看点 > 正文内容

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

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

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

分享给朋友:

相关文章

WordPress建设的网站为什么不推荐国内机房?

WordPress建设的网站为什么不推荐国内机房?

我劝大家不要用WordPress做国内网站,不要用国内机房的主机。原因如下:1 WordPress 很多主题和插件都是国外开发的,特别是付费版本,需要联网验证,或者远程写入。国内机房的虚拟主机和服务器大概率会屏蔽或者阻断这些连接,无法完成任...

你捡过最大的漏是什么?

你捡过最大的漏是什么?

买了套二手房,软磨硬泡便宜了1个w 结果就是一屋子狼藉 原业主说反正你们要重新装修 就不收拾了 等完了你们一起收拾掉吧 落了很多柜子 电器是啥的 今天打开卧室柜子一看…现在是去存钱的路上有朋友知道这样存钱银行会给发大米跟油吗...

在 Kubernetes 中,Service 的实现原理是什么,它是如何实现服务发现的?

行,问的这个问题挺有意思,Kubernetes 里 Service 是怎么实现的,服务发现是怎么回事,咱就直说了。这事儿看起来挺玄乎,但掰开揉碎了讲,也就那么回事。你得把这事儿想得简单点,别一上来就被啥术语吓住了——其实全是些搬砖的套路。咱...

是什么原因让你一定要用 iPhone?

是什么原因让你一定要用 iPhone?

1、不用清理内存,iPhone真的可以开机用上一年,你根本不用关注期间打开过什么软件。2、支持的频段足够多,天天在国内走动倒是无所谓,很多Android手机一旦出去了,就会发现很多运营商接入都是问题,更不用说各种本土化的服务了。3、屏幕素质...

测试用例是怎么写的?

测试用例是怎么写的?

测试用例对于测试人员而言,虽说是最最基础的技能,但却非常重要。测试用例是支撑我们在测试道路上进一步学习其他测试技能的基本功。那测试用例如何撰写,完整来说应该包含两部分内容:内容1: 测试用例撰写(按照八大要素);内容2: 测试用例(测试点)...

网易云音乐中你见过最搞笑的评论是什么?

网易云音乐中你见过最搞笑的评论是什么?

1.上个月把家里wifi名字改成了“隔壁老王”,不久就发现附近有一个wifi叫“老王你好”,我果断又把wifi名字改成“你一个人吗”……就这样改着wifi名字我们硬是聊了一个月,今晚对方wifi改成了“老公已出差”。 ——出自网易云音乐《...

发表评论

访客

看不清,换一张

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