gpt4 book ai didi

javascript - JS 将整个对象传递给函数需要更多内存

转载 作者:行者123 更新时间:2023-12-05 01:29:56 26 4
gpt4 key购买 nike

今天我了解到,例如,如果我有一个对象:

var foo = {a: 1, b: { ... }}

然后我将它传递给一个函数:

function test(foo) {
foo.b
}

它必须将整个 foo 对象加载到函数的作用域中才能访问b 属性,这会增加内存消耗。

书中的建议是始终只传递你需要的东西:

function test(b) {
b
}

test(foo.b)

我的问题是否属实?为什么?对象是通过引用传递的。

最佳答案

It has to load the whole foo object into the function’s scope to access the b property, which increases the memory consumption.

这只是错误。正如你所说的

the object is passed by reference.

因此,在这两种情况下,都会传递一个引用,这将消耗相同的内存(如果有的话)。

The advice in the book is to always pass only what you need instead

这对于干净的设计来说是一种很好的做法。

关于javascript - JS 将整个对象传递给函数需要更多内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59487047/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com