js的apply 與call 的區別

2022-08-03 19:54:21 字數 1093 閱讀 1295

1.各自對應的不同的語法:

1

/**/23

4/*call()方法

*/5 function.call(thisobj[, arg1[, arg2[, [,...argn]]]]);

2.各自不同的定義:call方法:(相同之處):

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

(不同之處): 

**示例:

1

function

animal(name) ;6}

78function

cat(name)

11 cat.prototype = new

animal();

1213

function

dog(name)

16 dog.prototype = new

animal();

1718

var cat = new cat("black cat"); //

call必須是object

1920

var dog = new dog(["black dog"]); //

2122

cat.showname();

23 dog.showname();

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

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

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

js 當中的apply與call

例如當我們執行 乙個方法 知乎上面鏈結位址 var numbers 5,6,2,3,7 var s wujianglong var s1 wu jiang long s.split w u j i a n g l o n g s1.split vm418 1 uncaught typeerror s...

js中call與apply的應用

call方法的官方解釋為 呼叫乙個物件的乙個方法,以另乙個物件替換當前物件。call thisobj arg1 arg2 argn 引數thisobj可選項。將被用作當前物件的物件。arg1,arg2,argn可選項。將被傳遞方法引數序列。說明call 方法可以用來代替另乙個物件呼叫乙個方法。cal...

js中的call與apply用法

call 方法 呼叫乙個物件的乙個方法,以另乙個物件替換當前物件。call thisobj arg1 arg2 argn 引數 thisobj 可選項。將被用作當前物件的物件。arg1,arg2,argn 可選項。將被傳遞方法引數序列。說明 call 方法可以用來代替另乙個物件呼叫乙個方法。call...