區別:區別:1、物件是包含已命名的值的無序集合,而陣列是包含已編碼的值的有序集合。 2.陣列的資料沒有名稱,只有下標,而物件的資料需要指定名稱。
本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
JavaScript 中的物件(Object)和陣列(Array)有時看起來很相似,但它們是兩種不同類型的資料集合,其中物件是包含已命名的值的無序集合,而數組則是包含已編碼的值的有序集合。
範例1
下面範例分別使用物件和陣列來儲存 1 和 true 這兩個值。程式碼結構如下:
var o = { //对象 x :1, //该值命名为x y : true //该值命名为y } var a = [ //数组 1, //该值隐含编码为0 true //该值隐含编码为1 ]
物件的儲存形式很像數組,因此被稱為關聯數組,但它不是真正意義上的數組。關聯數組就是將值與特定字串關聯在一起。真正的陣列與字串沒有聯繫,但是它將值和非負整數的下標關聯在一起。
console.log(o["x"]); //返回1,使用点语法存取属性 console.log(a[0]); //返回1,使用中括号存取属性
使用點語法存取屬性時,屬性名稱是識別碼;而使用中括號存取屬性時,屬性名為字串。
範例2
當用點號運算子來存取物件屬性時,屬性名稱是用識別符表示的;當用中括號來存取對象屬性時,屬性名稱是用字串表示的,因此可以在運行過程中動態產生字串。
var o = { p1 : 1, p2 : true } for (var i = 1; i < 3; i ++) { console.log(o["p" + i]); }
透過關聯數組法存取具有字串表達式的物件屬性是非常靈活的。當物件屬性非常多時,使用點語法來存取物件屬性會比較麻煩。另外,在一些特殊情況下只能使用關聯數組形式來存取物件屬性。
【相關推薦:javascript學習教學】
#以上是javascript物件和陣列的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!