call和apply的區別

2022-04-01 04:01:33 字數 1183 閱讀 2727

call和

的區別:

1、call函式和

方法的第乙個引數都是要傳入給當前物件的物件,

即函式內部的this。後面的引數都是傳遞給當前物件的引數。

2、倆者的格式和引數定義:

call的語法:

call

(thisobj

,arg1

,arg2

……)(

thisobj

,[argarray])3、

說明:call

兩者在作用上是相同的,但兩者

call

則作為call

的引數傳入(從第二個引數開始)。

eg: fun.call(thisobj,arg1,arg2,arg3)對應的

寫法為:

。4、call和

的作用①呼叫函式

②傳引數

③借用其他函式的方法:

④改變函式內部的this

指向call的簡單用法:

實現繼承:

說明:誰呼叫this就指向誰,

animal.call(this,name)

將指向變成了

animall

。原本指向的是

cat,這樣一來

cat就繼承了

animal

的屬性和方法。

實現多重繼承:

call 和apply 的區別

call方法 語法 call thisobj,object 定義 呼叫乙個物件的乙個方法,以另乙個物件替換當前物件 說明 call方法可以用來代替另乙個物件呼叫乙個方法。call方法可將乙個函式的物件上下文從初始的上下文改變為由thisobjext指定的新物件。如果沒有提供thisobj引數,那麼g...

call和apply的區別

1 方法定義 call方法 語法 call thisobj arg1 arg2 argn 定義 呼叫乙個物件的乙個方法,以另乙個物件替換當前物件。說明 call 方法可以用來代替另乙個物件呼叫乙個方法。call 方法可將乙個函式的物件上下文從初始的上下文改變為由 thisobj 指定的新物件。如果沒...

call和apply的區別

如下 複製 function add a,b function reduce a,b add.call reduce,1,3 將add方法運用到reduce,結果為4 如下例 如下 複製 function b b window b.call window b.call a 2,3 a 再看乙個複雜的...