gpt4 book ai didi

javascript - 将字符串传递给函数是按值复制还是按引用传递?

转载 作者:可可西里 更新时间:2023-11-01 02:05:52 24 4
gpt4 key购买 nike

由于 JavaScript 中的字符串是基本类型,将字符串传递给函数是否会创建它的本地副本?我想知道这一点,因为在创建字符串后您无法对其进行修改,因此 JavaScript VM 不只是将字符串的地址传递给内部函数似乎是不合逻辑的。

如果有人要告诉我我不应该担心这个(在与网络开发人员交谈时经常发生这种情况),我正在开发 HTML5 游戏,垃圾收集是一个主要问题,所以我真的需要知道。

最佳答案

字符串将通过引用传递。

字符串是不可变的,所以每当您尝试更改它时,您都会得到一个新字符串(例如,通过执行 value+="more")。

另见:What does immutable mean?

@T.J. Crowder:按值(value)与按引用 - 如果您正在查看语言定义,那么您是正确的。但是我不认为有一个实际创建字符串副本的实现,因为它会非常慢。此外,由于字符串是不可变的基元,因此无需复制它们,因为它们无法更改。

关于javascript - 将字符串传递给函数是按值复制还是按引用传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15664372/

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