在JavaScript中下面的 「安全」? (如在,可以預期在所有JavaScript引擎上可靠地工作)
a = [];
a[100] = "hello";
a[100] == "hello"; // should be true
在JavaScript中下面的 「安全」? (如在,可以預期在所有JavaScript引擎上可靠地工作)
a = [];
a[100] = "hello";
a[100] == "hello"; // should be true
是的。 JavaScript中的數組很稀疏,您的代碼有望在所有JavaScript實現中工作。
您可以參閱specification(PDF)的第15.4節中的要求。
簡短摘要:數組是具有數字名稱的屬性添加元素(如`a [123] =「test」)時調整長度屬性的特殊對象。像join這樣的其他方法會考慮到管理操作的長度。
你甚至可以假設
a[100] === "hello"; // will return true
http://stackoverflow.com/questions/1510778/are-javascript-arrays-sparse – Brad 2012-07-06 04:44:06
是的,它會工作無處不在。但是如果你實際上並不需要特定於數組的特定功能,比如'.length',那麼應該使用一個對象:'var a = {};' – Ryan 2012-07-06 04:51:24