首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >声明知道数组最大大小的数组

声明知道数组最大大小的数组
EN

Code Review用户
提问于 2014-06-26 14:09:53
回答 1查看 105关注 0票数 1

我知道最大数组大小是6。那么声明数组的最佳实践是什么?

在下面的代码中,我这样使用它:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>
var marks = new Array(6);
marks = [40, 100, 1, 5, 25, 10];
document.getElementById("demo").innerHTML = marks[3];    
</script>

</body>
</html>

我的理解是,在本例中,将在初始化时分配内存位置,因此在运行时,它只会将数据分配给数组,这将提供一些更好的性能。但是,如果它不接受这6个数据,一些内存空间将被浪费。

另一种执行方式是:

代码语言:javascript
复制
<script>
var marks = []
marks = [40, 100, 1, 5, 25, 10];
document.getElementById("demo").innerHTML = marks[3];    
</script>

在这里,在分配变量时将动态分配内存,因此不会浪费内存。

我知道用new()构造函数声明数组不是一个好做法((如上文所述)),但是如果我们知道最大大小,我想知道最佳实践。那么,在JavaScript中声明数组的最佳实践是什么呢?

EN

回答 1

Code Review用户

回答已采纳

发布于 2014-06-27 13:29:44

有趣的问题,

首先,你在担心错误的事情。即使第一种方法提供了一些更好的性能(我认为这是不可能的),这也是过早的优化。

正确的办法是:

代码语言:javascript
复制
var marks = [40, 100, 1, 5, 25, 10];
document.getElementById("demo").innerHTML = marks[3];

现在,从内存的角度来看,我非常肯定new Array(6);所发生的唯一事情就是将length设置为6,这并不意味着内存被分配。如果考虑到这一点,分配内存将是愚蠢的,因为JS不知道您将在该数组中放入什么,它可能是一个整数,也可能是一个非常长的字符串,或者是一个函数或一个对象,您得到了重点。

我的建议是以一种惯用的方式编写代码,简单地表达需要做的事情。

票数 2
EN
页面原文内容由Code Review提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codereview.stackexchange.com/questions/55328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档