JS中apply 與call 的區別

2021-08-06 06:56:00 字數 1208 閱讀 3888

主要我是要解決一下幾個問題:  

obj:這個物件將代替function類裡this

物件  

args:這個是陣列,它將作為引數傳給function(args-->arguments)  

function.call(obj,[param1[,param2[,…[,paramn]]]])  

obj:這個物件將代替function類裡this

物件  

params:這個是乙個引數列表  

,arguments);  

this

:在建立物件在這個時候代表的是student  

arguments:是乙個陣列,也就是[「qian」,」21」,」一年級」];  

也就是通俗一點講就是:用student去執行person這個類裡面的內容,在person這個類裡面存在this

.name等之類的語句,這樣就將屬性建立到了student物件裡面  

2.call示例  

person.call(this

,name,age);  

這樣就ok了  

,age,name,grade));  

), 第二個引數是乙個陣列集合,   

在呼叫person的時候,他需要的不是乙個陣列,但是為什麼他給我乙個陣列我仍然可以將陣列解析為乙個乙個的引數,  

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

因為math.max 引數裡面不支援math.max([param1,param2]) 也就是陣列  

null

,array),這樣輕易的可以得到乙個陣列中最大的一項  

這塊在呼叫的時候第乙個引數給了乙個null

,這個是因為沒有物件去呼叫這個方法,我只需要用這個方法幫我運算,得到返回的結果就行,.所以直接傳遞了乙個

null

過去  

b)math.min  可以實現得到陣列中最小的一項  

同樣和 max是乙個思想 var

null

,array);  

c)array.prototype.push 可以實現兩個陣列合併  

vararr1=new

array(

"1",

"2",

"3");   

vararr2=new

array(

"4",

"5",

"6");   

js中call與apply用法

兩者的格式和引數定義 call thisarg arg1,arg2,引數列表,arg1,arg2,上面兩個函式內部的this指標,都會被賦值為thisarg,這可實現將函式作為另外乙個物件的方法執行的目的 一 call 的簡單用法 首先,我們先看個簡單的例子 call 然後,執行結果如下 globa...

js中call與apply用法

兩者的格式和引數定義 call thisarg arg1,arg2,引數列表,arg1,arg2,上面兩個函式內部的this指標,都會被賦值為thisarg,這可實現將函式作為另外乙個物件的方法執行的目的 一 call 的簡單用法 首先,我們先看個簡單的例子 call 然後,執行結果如下 globa...

js中call與apply用法

1 2兩者的格式和引數定義 3 call thisarg arg1,arg2,引數列表,arg1,arg2,引數陣列,argarray 5上面兩個函式內部的this指標,都會被賦值為thisarg,這可實現將函式作為另外乙個物件的方法執行的目的67 一 call 的簡單用法 8首先,我們先看個簡單的...