1. 程式人生 > >call()和appy()的區別及常用場景

call()和appy()的區別及常用場景

這兩個方法都是函式物件的方法,需要通過函式物件來呼叫


當對函式呼叫call()和 apply()都會呼叫函式執行


在呼叫call()和apply()可以將一個物件指定為第一個引數

此時這個物件將會成為函式執行時的this


call()方法可以將實參在物件之後依次傳遞
apply()方法需要將實參封裝到一個數組中統一傳遞

舉例:
fun.ca11(obj,2,3);
fun. apply(obj, [2, 31])

常見的應用場景是在繼承當中,混合繼承時用於實現繼承父類的例項屬性與方法,但是不能繼承原型當中的方法