2017.05.06FreeCodeCamp編程之JS面向對象編程學習
1.構造對象的方法:
①
②使用構造函數來創建對象。構造函數 通常使用大寫字母開頭,以便把自己和其他普通函數區別開。
在 構造函數 中, this
指向被此 構造函數 創建出來的 對象 。
2.使用構造函數的方法:使用構造函數時,我們通過在它前面使用 new
關鍵字 來對它進行調用
要使用 new
關鍵字 去調用構造函數。因為只有這樣,Javascript才知道這是要去構造一個新 對象 ,並且把構造函數中的 this
指向這個新對象。
現在,當 myCar
(即 Car
的一個 實例 )創建後,他可以像普通對象一樣被使用,包括創建、訪問、修改它的屬性等,就像我們使用其他對象一樣。
3.重點理解和掌握的知識點在這裏:我們之前寫的 構造函數
很好,但是我們不想總是創建相同的對象,怎麽辦呢?
為了解決這個問題,我們要向 構造函數
中添加 參數
。
4.對象的私有屬性和私有方法:對象擁有自己的特征,稱為 屬性
,對象還有自己的函數,稱為 方法
可以創建 私有屬性
和 私有方法
,它們兩個在對象外部是不可訪問的
我們在 構造函數
中,使用我們熟悉的 var
關鍵字去創建變量,來替代我們使用 this
創建 屬性
。
5.叠代數組:map
方法可以方便的叠代數組
map
方法會叠代數組中的每一個元素,並根據回調函數來處理每一個元素,最後返回一個新數組。
註意,這個方法不會改變原始數組。
在我們的例子中,回調函數只有一個參數,即數組中元素的值 (val
參數) ,
但其實,你的回調函數也可以支持多個參數,譬如:元素的索引index
、原始數組arr
。
6.數組方法 reduce
用來叠代一個數組,並且把它累積到一個值中
使用 reduce
方法時,你要傳入一個回調函數,這個回調函數的參數是一個 累加器
reduce
方法有一個可選的第二參數,它可以被用來設置累加器的初始值。
如果沒有在這定義初始值,那麽初始值將變成數組中的第一項,而 currentVal
將從數組的第二項開始。
使用 reduce
方法來讓 array
中的所有值相加,並且把結果賦值給 singleVal
7.數組條件過濾:filter
方法用來叠代一個數組,並且按給出的條件過濾出符合的元素。
filter
方法傳入一個回調函數,這個回調函數會攜帶一個參數,參數為當前叠代的項
回調函數返回 true
的項會保留在數組中,返回 false
的項會被過濾出數組
8.數組排序:使用 sort
方法,你可以很容易的按字母順序或數字順序對數組中的元素進行排序。
與我們之前用的數組方法僅僅返回一個新數組不同, sort
方法將改變原數組,返回被排序後的數組。
sort
可以把比較函數作為參數傳入。比較函數有返回值,當 a
小於 b
,返回一個負數;當 a
大於 b
,返回一個正數;相等時返回0。
如果沒有傳入比較函數,它將把值全部轉成字符串,並按照字母順序進行排序。
9.翻轉數組:可以使用 reverse
方法來翻轉數組。這個函數不需要,回調函數,直接使用。
newArray = array.reverse();
10.合並數組:concat
方法可以用來把兩個數組的內容合並到一個數組中
concat
方法的參數應該是一個數組。參數中的數組會拼接在原數組的後面,並作為一個新數組返回。
11.字符串分割為數組:使用 split
方法按指定分隔符將字符串分割為數組。
要給 split
方法傳遞一個參數,這個參數將會作為一個分隔符。
返回:["Split","me","into","an","array"]
12.數組轉化為字符串:使用 join
方法來把數組轉換成字符串,裏面的每一個元素可以用你指定的連接符來連接起來,這個連接符就是你要傳入的參數。
返回:
2017.05.06FreeCodeCamp編程之JS面向對象編程學習