應用某一物件的乙個方法,用另乙個物件替換當前物件。
引數
thisobj 可選項。將被用作當前物件的物件。
argarray 可選項。將被傳遞給該函式的引數陣列。
說明
如果 argarray 不是乙個有效的陣列或者不是arguments物件,那麼將導致乙個 typeerror。如果沒有提供 argarray 和 thisobj 任何乙個引數,那麼global物件將被用作 thisobj,並且無法被傳遞任何引數。
呼叫乙個物件的乙個方法,以另乙個物件替換當前物件。
call(
[thisobj[,arg1[, arg2[, [,.argn]]]]])
引數thisobj 可選項。將被用作當前物件的物件。
arg1, arg2, , argn 可選項。將被傳遞方法引數序列。
說明call方法可以用來代替另乙個物件呼叫乙個方法。call方法可將乙個函式的物件上下文從初始的上下文改變為由 thisobj 指定的新物件。如果沒有提供 thisobj 引數,那麼global物件被用作 thisobj。
其中,arguments是由param1,param2…paramn引數組成的數字
1.例項:
/*定義人類*/
function person(name,age,***)
} /*定義乙個學生類*/
function student()
var person=new person();
var student=new student();
person.showperson.call(student); //列印結果:姓名:張三-年齡:10-性別:男
2.實現繼承
function person(name,age,***)
}
function student(name,age,***)
var student=new student('張三',10,'男');
student.showperson(); //列印結果:姓名:張三-年齡:10-性別:男
apply和call的用法
查了大量的資料,經過n次測試,總結如下 希望給像我一樣的菜鳥有幫助 call 方法名a.call 物件名b,執行a需要的引數,用逗號分隔 看例子 function obj1 function obj2 var k1 new obj1 var k2 new obj2 上面定義了兩個物件它們都有arg這...
js中call和apply用法
1 方法定義 call方法 語法 call thisobj arg1 arg2 argn 定義 呼叫乙個物件的乙個方法,以另乙個物件替換當前物件。說明 call 方法可以用來代替另乙個物件呼叫乙個方法。call 方法可將乙個函式的物件上下文從初始的上下文改變為由 thisobj 指定的新物件。如果沒...
JS中Apply和Call的用法
1 函式層面 obj.call obj1,argument1,argument2,這兩個函式都是使用obj物件來替換obj1來執行對應的函式 這個可用於物件的繼承 例如 function add a,b function sub a,b add.call sub,a,b 使用add函式來替代sub進...