gpt4 book ai didi

javascript - 我应该预先分配一个数组还是随着我的使用而增长

转载 作者:行者123 更新时间:2023-11-29 18:49:46 25 4
gpt4 key购买 nike

过去几个月我一直在努力更好地理解 javascript。这确实让我想获得计算机科学学位。不管怎样,我不幸地遇到了与 JavaScript 相关的两个相关但相互冲突的点。

根据this article ,不应预填充数组,而应在需要时增长数组。

这听起来很棒,直到我遇到另一个 article on wikipedia这表明执行上述操作会很慢。

我正在考虑从头开始组装一些游戏,并且作为一名代码素食主义者,计划将性能放在我的工作的首位。 那么,拥有一个可增长的数组还是一个预先分配的数组更好?在 HTML5 游戏开发中,建议使用诸如对象池之类的东西,我倾向于使用数组来创建对象池。

最佳答案

粗略指南:

预先分配的更好。如果您使用 pushpop 来扩展一个,JS 引擎需要执行许多额外的步骤。

即使使用超大数组也比经常更改大小要好得多。并且您应该尽可能对固定大小的数组进行操作。

Here您可以找到有关此的更多信息。

Aray 性能高度基于 JS 引擎实现:

因为 javascript 是一种规范而不是实现,不同的浏览器有不同版本的 Javascript 引擎。这些版本会定期更新以提高速度,并采取不同的方法来优化速度。

优化时,通常会在某些功能的速度之间进行权衡,包括如何操作/创建数组。这意味着我上面提供的指南可能不是 100% 准确,因为一个 JS 引擎可能具有其他 JS 引擎所缺乏的某些行为。这可能会导致数组操作/创建技术的速度出现差异。

关于javascript - 我应该预先分配一个数组还是随着我的使用而增长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51733619/

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