/**/function
/*call()方法
都「可以用來代替另乙個物件呼叫乙個方法,將乙個函式的物件上下文從初始的上下文改變為由thisobj指定的新物件」。
如果給該方法傳遞多個引數,則把引數都寫進這個陣列裡面,當然,即使只有乙個引數,也要寫進陣列裡。
如果argarray不是乙個有效的陣列或arguments物件,那麼將導致乙個typeerror。如果沒有提供argarray和thisobj任何乙個引數,那麼global物件將被用作thisobj,並且無法被傳遞任何引數。
這個方法主要用在js物件各方法相互呼叫的時候,使當前this例項指標保持一致,或者在特殊情況下需要改變this指標。
如果沒有提供thisobj引數,那麼 global 物件被用作thisobj。
(1)基本用法
function add(a,b)(2)實現繼承function sub(a,b)
alert(a1); //6
alert(a2); //2
/*call的用法*/
var a1 = add.call(sub,4,2);
function animal(name)(3)多重繼承}function cat(name)
var cat = new cat("咕咕");
cat.showname();
/*call的用法*/
animal.call(this,name);
function class10()原文:}function class11()
}function class12()
var c2 = new class12();
c2.showsub(3,1); //2
c2.showadd(3,1); //4
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物件的方法。它們的共同之處 都 可以用來代替另乙個物件呼叫乙個方法,將乙...