JavaScript undefined x 1 是什么意思

ECMA 标准 , Javascript 控制台像数组一样显示对象,例如:["hello", "world"] ,这个对象包含数字化索引的字符串。JavaScript数组在不同的浏览器实现有差异,但它们通常采用稀疏的表示方法,非常类似于同一对象的重复使用。无论如何,Google 的Chrome看起来是采用了稀疏数组的表示方式,用undefined x n 记号。 看起来是这样的,在Chrome 开发者控制台输入下面的代码:

arr = new Array(4);
arr[2] = "abcd";
console.log(arr);

输出

[undefined × 2, "abcd", undefined × 1]

上面的输出,首先是连续的两个"undefined",用 x2 表示,表示有两个undefined。 如果仅有一个undefined的值,也用 x 1 表示。 这样,就可以在Chrome 浏览器清楚的表示在数组中没有被初始化的索引位置的值。

JavaScript 稀疏数组

稀疏数组 从0索引开始,但不一定有连续的索引。一般情况,一个数组的长度length属性表示数组当中元素的数量。如果一个数组是稀疏的,那么length 属性的值要比元素的数量大。当数组是充分的稀疏的时候(缺失大量的索引),依靠索引访问数组将丧失很多的效率。在性能方面,它就类似于哈希表了hashtable。

原文链接