1. 函數(shù)也是對象,對象就可以包含方法,call和apply可以間接調(diào)用函數(shù),指定this值,兩個(gè)方法都可以指定調(diào)用實(shí)參,區(qū)別在于call傳入實(shí)參是是使用自有實(shí)參列表作為傳入實(shí)參,apply要求傳入數(shù)組形式傳入?yún)?shù)(越來越感覺js就是個(gè)大鏈表,什么都是鏈)
2. 函數(shù)在定義時(shí)并沒有指定形參類型,也不會(huì)對傳入實(shí)參進(jìn)行類型校驗(yàn),也不會(huì)檢查傳入形參的個(gè)數(shù)
3. 可選形參:當(dāng)傳入實(shí)參個(gè)數(shù)少于形參,沒有設(shè)定的形參就會(huì)被設(shè)定為undefined,當(dāng)傳入實(shí)參多于形參時(shí),多傳入的參數(shù)并不會(huì)被直接引用,這時(shí)可以使用參數(shù)對象來獲取傳入實(shí)參列表
4. 參數(shù)對象:類數(shù)組對象,具有l(wèi)ength屬性,arguments
5. 將對象屬性用作實(shí)參,可以更直觀的指定實(shí)參:
goPath({from:3, to:5})