首頁 >web前端 >前端問答 >javascript物件和陣列的差別是什麼

javascript物件和陣列的差別是什麼

青灯夜游
青灯夜游原創
2021-06-22 15:15:443036瀏覽

區別:區別:1、物件是包含已命名的值的無序集合,而陣列是包含已編碼的值的有序集合。 2.陣列的資料沒有名稱,只有下標,而物件的資料需要指定名稱。

javascript物件和陣列的差別是什麼

本教學操作環境: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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn