我知道Javascript数组实际上是对象,并且因为它们是对象,所以它们可以具有属性。这里有一个例子:在Javascript数组上存储属性是否有缺点?
var a = [1, 2, 3];
a.currentIndex = 2;
a.next = function() { ... };
a.prev = function() { ... };
a.length // returns 3
对我来说这似乎是它可以将非常方便。我看到很多原因,为什么你可能希望将状态或实用程序函数存储在实际的数组本身而不是其他变量上。它甚至比将数组作为对象的属性以及存储在该对象上的其他东西更好。
我的问题是:
有谁知道的任何问题,可通过一段JavaScript阵列上存储的属性?它是否适用于所有浏览器?有没有证据表明这会随着未来版本的Javascript而改变?对于这是否是一种好的做法,有没有一般的看法?
(PS为了记录在案,我并不需要遍历数组在for ... in循环。据我所知,这样的循环将包括性能以及)