我知道最大数组大小是6。那么声明数组的最佳实践是什么?
在下面的代码中,我这样使用它:
<!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个数据,一些内存空间将被浪费。
另一种执行方式是:
<script>
var marks = []
marks = [40, 100, 1, 5, 25, 10];
document.getElementById("demo").innerHTML = marks[3];
</script>在这里,在分配变量时将动态分配内存,因此不会浪费内存。
我知道用new()构造函数声明数组不是一个好做法((如上文所述)),但是如果我们知道最大大小,我想知道最佳实践。那么,在JavaScript中声明数组的最佳实践是什么呢?
发布于 2014-06-27 13:29:44
有趣的问题,
首先,你在担心错误的事情。即使第一种方法提供了一些更好的性能(我认为这是不可能的),这也是过早的优化。
正确的办法是:
var marks = [40, 100, 1, 5, 25, 10];
document.getElementById("demo").innerHTML = marks[3];现在,从内存的角度来看,我非常肯定new Array(6);所发生的唯一事情就是将length设置为6,这并不意味着内存被分配。如果考虑到这一点,分配内存将是愚蠢的,因为JS不知道您将在该数组中放入什么,它可能是一个整数,也可能是一个非常长的字符串,或者是一个函数或一个对象,您得到了重点。
我的建议是以一种惯用的方式编写代码,简单地表达需要做的事情。
https://codereview.stackexchange.com/questions/55328
复制相似问题