apply 與call 的區別

2022-08-17 20:21:19 字數 1533 閱讀 1335

/*

*/function

/*call()方法

*/

function.call(thisobj[,argarray])
它們各自的定義:call:呼叫乙個物件的乙個方法,用另乙個物件替換當前物件。例如:b.call(a, args1,args2);即a物件呼叫b物件的方法。

它們的不同之處:

示例**:

(1)基本用法

function

add(a,b)

function

sub(a,b)

sub呼叫add的方法

alert(a1);

//6

alert(a2); //2/*

call的用法

*/var a1 = add.call(sub,4,2);

(2)實現繼承

function

animal(name)

}function

cat(name)

var cat = new cat("咕咕");

cat.showname();

/*call的用法

*/animal.call(

this,name);

(3)多重繼承

function

class10()

}function

class11()

}function

class12()

var c2 = new

class12();

c2.showsub(3,1); //

2c2.showadd(3,1); //

4

(1)math.max 可以實現得到陣列中最大的一項:

數的方式傳遞給方法)

這塊在呼叫的時候第乙個引數給了null,這是因為沒有物件去呼叫這個方法,我只需要用這個方法幫我運算,得到返回的結果就行,所以直接傳遞了乙個null過去。

(2)array.prototype.push可以實現兩個陣列的合併

var arr1=new array("1","2","3");

var arr2=new array("4","5","6");

//得到合併後陣列的長度,因為push就是返回乙個陣列的長度

下面**可以反映出這點,而且也顯示了bind的用法.

var button = document.getelementbyid("button"),

text = document.getelementbyid("text");

button.onclick = function

() .bind(text);

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物件的方法。它們的共同之處 都 可以用來代替另乙個物件呼叫乙個方法,將乙...