在這個世界上,有很多物體都有基本的特徵與功能,然後再加上各自特殊的特徵與功能。例如下面的範例中,每一個人類都有基本的特徵,例如性別,年齡;然後人類又可以分類成教師,工人,音樂家等等。繼承是在規劃物件製造器時,建立物件型態的繼承性,此為靜態的繼承;如果要在物件產生實體後,增加特徵或方法,就要用 prototype。
- 上例中,物件型態 teacher 繼承了物件型態 human;其指令是 this.person=human;。
使用繼承自物件 Function 的方法 apply() 繼承物件:其語法是:
父物件.apply(參數0 [, 參數陣列]);
參數0 指定函式中 this 代表的物件。如果參數0 是 null 或 undefined,則 this 代表全域物件(global object)。參數0 也可以用基本型態資料,此時會轉換成相關的物件,例如 String, Number, Boolean。參數陣列是物件的參數。
apply() 很類似下述的 call(),差別在 apply() 用陣列傳遞物件的參數,call() 則用名稱組。apply() 也可以用物件 arguments 傳遞變動長度的參數組。
使用繼承自物件 Function 的方法 call() 繼承物件:其語法是:
父物件.call(參數0 [, 參數1[, 參數2[, ...]]]);
參數0 指定函式中 this 代表的物件。如果參數0 是 null 或 undefined,則 this 代表全域物件。參數0 也可以用基本型態資料,此時會轉換成相關的物件,例如 String, Number, Boolean。參數1, 參數2 是物件的參數。