介紹
call()?方法是預(yù)定義的 JavaScript 方法开泽。它可以用來調(diào)用所有者對(duì)象作為參數(shù)的方法抓于。通過?call(),您能夠使用屬于另一個(gè)對(duì)象的方法抬伺。
apply()和call()方法相似
用法
func.call(thisArg,arg1,arg2,....)? 第一個(gè)參數(shù)是作用域?qū)ο螅簿褪悄阋壎ǖ膶?duì)象名稱灾梦,后面就是方法的參數(shù)列表
func.apply(thisArg, [arg1,arg2,....]) 第一個(gè)參數(shù)是作用域?qū)ο笈婕颍竺鎮(zhèn)魅胍粋€(gè)數(shù)組,該數(shù)組就是函數(shù)的參數(shù)列表
作用
兩者的作用是一樣的
實(shí)現(xiàn)繼承斥废,一個(gè)對(duì)象的方法或?qū)傩越烽梗缓笞屃硗庖粋€(gè)新的對(duì)象來繼承它,而不是在這個(gè)新的對(duì)象中再寫一次這個(gè)方法或?qū)傩?/p>
改變函數(shù)執(zhí)行的上下文(this),調(diào)用別人的方法
實(shí)例
·call
第一個(gè)參數(shù)是作用域牡肉,后面是方法的參數(shù)列表
·apply
第一個(gè)參數(shù)是作用域捧灰,后面參數(shù)是數(shù)組