js call與apply的區別

2021-08-29 13:02:17 字數 1044 閱讀 4272

1、call 方法

呼叫乙個物件的乙個方法,以另乙個物件替換當前物件。

call([thisobj[,arg1[, arg2[, [,.argn]]]]])

引數thisobj

可選項。將被用作當前物件的物件。

arg1, arg2, , argn

可選項。將被傳遞方法引數序列。

說明call 方法可以用來代替另乙個物件呼叫乙個方法。call 方法可將乙個函式的物件上下文從初始的上下文改變為由 thisobj 指定的新物件。

如果沒有提供 thisobj 引數,那麼 global 物件被用作 thisobj。

要求版本 5.5

請參閱應用於: function 物件

應用某一物件的乙個方法,用另乙個物件替換當前物件。

引數thisobj

可選項。將被用作當前物件的物件。

argarray

可選項。將被傳遞給該函式的引數陣列。

說明如果 argarray 不是乙個有效的陣列或者不是 arguments 物件,那麼將導致乙個 typeerror。

如果沒有提供 argarray 和 thisobj 任何乙個引數,那麼 global 物件將被用作 thisobj, 並且無法被傳遞任何引數。

要求版本 5.5

請參閱應用於: function 物件

4、call例項

[quote]var obj = new baseclass();

driveclass.call(obj,...);

以上假設baseclass和driveclass是已經宣告的類(function),那麼執行後obj物件將擁有driveclass和baseclass的方法和屬性,如果類成員名稱存在衝突,那麼driveclass的會覆蓋baseclass的成員。產生的結果和類繼承的結果一樣

[/quote]

var oldfunc = obj[fname];

obj[fname] = function() ;

}function hellowordfunc(args)

}}[/quote]

apply 與call 的區別

function call 方法 function.call thisobj arg1 arg2 argn 它們各自的定義 call 呼叫乙個物件的乙個方法,以另乙個物件替換當前物件。例如 b.call a,args1,args2 即a物件呼叫b物件的方法。它們的共同之處 都 可以用來代替另乙個物件...

apply 與call 的區別

function call 方法 function.call thisobj arg1 arg2 argn 它們各自的定義 call 呼叫乙個物件的乙個方法,用另乙個物件替換當前物件。例如 b.call a,args1,args2 即a物件呼叫b物件的方法。它們的共同之處 都 可以用來代替另乙個物件...

apply 與call 的區別

call 方法 function.call thisobj arg1 arg2 argn 它們各自的定義 call 呼叫乙個物件的乙個方法,用另乙個物件替換當前物件。例如 b.call a,args1,args2 即a物件呼叫b物件的方法。它們的共同之處 都 可以用來代替另乙個物件呼叫乙個方法,將乙...