Head First Javascript 程式設計讀書筆記(四)
陣列是一種能儲存多個值的資料型別。
var arr = [100, 20, 30];
console.log( arr[1] ); // 20
var len=arr.length;
console.log( len ); // 3
arr[2] = 0;
console.log( arr[2] ); // 0
第一行建立了一個陣列,通過[]建立陣列屬於用陣列的字面量建立陣列,在[]中依次輸入每個資料,用“,”隔開即可。陣列中每一項的資料型別可以是任意的,字串,布林值,數值,甚至陣列,函式都可以,資料的個數也沒有限制(受制於計算機記憶體和計算能力等,實際上不應該有太多的資料項)。
第二行訪問了一個陣列元素,[]中的數字表示陣列的索引位置,陣列的索引從0開始。
第三行獲取了陣列的長度,每個陣列都有一個length屬性,它的值也就是陣列的長度,等於陣列的最大索引值+1。
第五行修改了陣列中第三項的值,修改陣列中某一項資料的值,只需要用賦值語句給它重新賦值即可。 可以用var arr=[];或者var arr=new Array();來建立一個空陣列,這兩種方式建立的空陣列無任何區別。
要遍歷陣列中的所有值,可以使用迴圈,對於陣列,通常用for迴圈比較常見,比如:
for(var i=0; i<arr.length;i++){
console.log( i );
}
// 100
// 20
// 0
for是關鍵字,i是計算器,被初始化為0,i<arr.length
是迴圈判斷條件,{ }中的內容為迴圈體,i++則是每次迴圈體執行完後執行的用以改變計算器的語句。
for迴圈中,變數初始化語句,條件判斷語句,變數變化語句甚至迴圈體都是可選的,所以完全可以代替while迴圈,不過具體使用哪種迴圈完全取決於編碼習慣和個人喜好。
i++是變數遞增語句,相當於i = i+1(在複雜情況下還是有區別的~),相應的,有遞減運算語句,i--。
var arr=[];
arr.push( 30 );
console.log( arr.length ); // 1
arr[10] = 10;
console.log( arr.length ); // 11
console.log( arr[5] ); // undefined
這段程式碼第一行建立了一個空陣列。
第二行呼叫陣列的push方法(實際上是一個函式,可以先不管它的原理,物件中會講)在陣列的最後一項新增了一個新的陣列項(空陣列沒有資料項,所以新增在第一項)並用它的引數給陣列項賦值,簡單的arr.push( a )等價於arr[arr.length] = a。但實際上push可以接受任意多的引數,它會將它的引數按順序依次增降到呼叫它的陣列的末尾。
第四行程式碼直接給arr[10]賦值,這是允許的,通過第五行可以看到,這樣操作會改變陣列的長度(前面說過,陣列的長度等於它最後一項的索引值+1),第六行則說明,這樣形成的陣列,中間的陣列項是未賦值的(undefined),這種陣列稱為稀疏陣列(這和自己把一個稠密陣列的陣列項賦值為 undefined 是不同的,和用 delete 刪除稠密陣列的某些陣列項的值相同,書中未提及),建立一個稀疏陣列的簡單方法是 var arr = new Array(5),這樣就建立了一個長度為5的稀疏陣列。
筆記寫完了,其實我有點後悔寫這書的筆記了,還是那個原因,這書看起來挺有趣,對於初學者來說更是能極大的加深對基本概念的理解,而且也好玩,但是我已經不是初學者了,一章我半小時就能看完,也覺得挺有趣,但寫這些筆記也要半小時。對我來說好像沒啥收穫,所以後面的內容還寫不寫就看情況啦~
相關文章
- Head First Javascript 程式設計讀書筆記(一)JavaScript程式設計筆記
- Head First Javascript 程式設計讀書筆記(二)JavaScript程式設計筆記
- Head First Javascript 程式設計讀書筆記(三)JavaScript程式設計筆記
- Head First設計模式讀書筆記設計模式筆記
- head first java讀書筆記Java筆記
- Head First jQuery讀書筆記jQuery筆記
- 《Head First C 中文版》審讀筆記(四)筆記
- 《Head First HTML 與 CSS》讀書筆記之CSS篇HTMLCSS筆記
- 《JavaScript程式設計精解》--讀書筆記JavaScript程式設計筆記
- 《Head First Java》20200927讀書筆記Java筆記
- 《Go 語言程式設計》讀書筆記(四)介面Go程式設計筆記
- 《JavaScript Dom程式設計藝術》讀書筆記(一)JavaScript程式設計筆記
- 《Head First Java》20201017讀書筆記Java筆記
- Java 併發程式設計實踐 讀書筆記四Java程式設計筆記
- 《Head First Java》20201009讀書筆記Java筆記
- 《Head First C 中文版》審讀筆記(五)筆記
- 《Head First C 中文版》審讀筆記(三)筆記
- 《Head First C 中文版》審讀筆記(二)筆記
- 《Head First C 中文版》審讀筆記(一)筆記
- Effective Java讀書筆記四:通用程式設計(45-56)Java筆記程式設計
- Head First 設計模式筆記 3.裝飾者模式設計模式筆記
- JavaScript DOM 程式設計藝術(第2版) 讀書筆記JavaScript程式設計筆記
- 《程式設計匠藝》讀書筆記程式設計筆記
- 讀《大話設計模式》和《head first 設計模式》心得設計模式
- 《Java程式設計思想》讀書筆記一Java程式設計筆記
- 讀書筆記-Java程式設計思想-03筆記Java程式設計
- Java遊戲程式設計讀書筆記(轉)Java遊戲程式設計筆記
- 反應式程式設計讀書筆記程式設計筆記
- 《JavaScript 高階程式設計》精讀筆記JavaScript程式設計筆記
- JavaScript 高階程式設計 第三章 讀書筆記(1)JavaScript程式設計筆記
- CSAPP 併發程式設計讀書筆記APP程式設計筆記
- C#高階程式設計 讀書筆記C#程式設計筆記
- 《程式設計師的吶喊》讀書筆記程式設計師筆記
- 《程式設計師自我修養》讀書筆記程式設計師筆記
- 《程式設計師修煉之道》讀書筆記程式設計師筆記
- 《精通JavaScript》讀書筆記JavaScript筆記
- 程式設計師生存指南讀書筆記-第四篇(生產力)程式設計師筆記
- 《Head First 設計模式》:策略模式設計模式