前言
我們提過 JavaScript 是動態型別的程式語言,前面也介紹過動態型別的優點以及缺點,動態型別是相當強大的特性,像是用在 JavaScript 的陣列上。
陣列 (Array)
JavaScript 的陣列相較於其他程式語言的陣列來說彈性了不少。受惠於動態型別的緣故,JavaScript 的陣列可以是任何東西的集合,這可以讓我們寫出一些沒接觸過 JavaScript 的人可能感到困惑的程式。
此外,陣列的索引是從0開始的、陣列也有陣列實體語法,這跟物件實體語法很相似,不多說我們直接看範例:
1 | // 陣列實體語法 |
使用陣列實體語法建立陣列,並且在陣列內放入值並使用逗號分隔,陣列是從0開始算的,代表我可以使用 console.log
抓出指定的陣列值。
在大部分的程式語言,陣列通常只能放相同型別的東西,像是一個數字陣列、一個字串陣列、一個物件陣列等等,但是 JavaScript 可以是任何東西:
1 | var arr = [ |
像這樣,我在 arr
陣列中各放了數值、布林、物件、函式 (也是物件的一種)、字串,並且輸出觀察結果。
看起來很怪異,不過在 JavaScript 中是完全合理的。
另外還可以有這樣的組合用法:
我預期呼叫陣列內的函式,並且帶入陣列內物件的 name
屬性。
1 | var arr = [ |
陣列索引是從 0 開始計算的,因此我們要先指定到函式的索引,而呼叫的方法一樣是加上 () 即可,參數的部分則是指定到陣列內物件的索引,並且使用點運算子取出屬性的值。