js的call和apply區別

2022-07-25 02:03:11 字數 451 閱讀 6123

obj.call(newobj, arg1, arg2, ...);

上面的都是把obj的this指向了newobj,這時newobj就繼承了obj的屬性和方法。

兩者區別是接收的引數不同,第乙個引數都是函式執行的作用域(this),

call接受的是連續引數,如果沒有提供newobj引數,那麼global物件被用於newobj。

如下面的例子

function add(j, k) 

function sub(j, k)

add(

2, 1); //

3 add.call(sub, 2, 1); //33

sub(

2, 1); //

1 sub.call(add, 2, 1); //11

JS中apply和call的區別

聯絡 obj 這個物件將代替 function類裡this物件,也即 function類 函式 裡的this不在是指 function 本身,而是obj args 這個是陣列型別的引數,它將作為引數傳給function args arguments 結果是還是執行 function 類方法 函式 的...

call 和apply 的區別

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

call和apply的區別

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