function.call(obj,[param1[,param2[,…[,paramn]]]])
obj:這個物件將代替function類裡this物件
params:這個是乙個引數列表
this:在建立物件在這個時候代表的是student
arguments:是乙個陣列,也就是[「qian」,」21」,」一年級」];
也就是通俗一點講就是:用student去執行person這個類裡面的內容,在person這個類裡面存在this.name等之類的語句,這樣就將屬性建立到了student物件裡面
call示例
person.call(this,name,age);
這樣就ok了
在呼叫person的時候,他需要的不是乙個陣列,但是為什麼他給我乙個陣列我仍然可以將陣列解析為乙個乙個的引數,
a) math.max 可以實現得到陣列中最大的一項
因為math.max 引數裡面不支援math.max([param1,param2]) 也就是陣列
這塊在呼叫的時候第乙個引數給了乙個null,這個是因為沒有物件去呼叫這個方法,我只需要用這個方法幫我運算,得到返回的結果就行,.所以直接傳遞了乙個null過去
b) math.min 可以實現得到陣列中最小的一項
c) array.prototype.push 可以實現兩個陣列合併
還有比如第四部分得內容,巧妙的解決了實實在在存在的問題,這個肯定不是乙個初學者能想到的解決方案(這個也不是我自己想的),沒有對程式設計有一定認識的不會想到這個的,還是一句話,多積累,多學習,提公升自己的能力和對程式設計思想的理解能力才是最關鍵!
Js apply方法詳解
主要我是要解決一下幾個問題 function.call obj,param1 param2 paramn obj 這個物件將代替function類裡this物件 params 這個是乙個引數列表 this 在建立物件在這個時候代表的是student arguments 是乙個陣列,也就是 qian ...
Js apply方法詳解
主要我是要解決一下幾個問題 obj 這個物件將代替function類裡this 物件 args 這個是陣列,它將作為引數傳給function args arguments function.call obj,param1 param2 paramn obj 這個物件將代替function類裡this...
Js apply方法詳解
主要我是要解決一下幾個問題 obj 這個物件將代替function類裡this物件 args 這個是陣列,它將作為引數傳給function args arguments function.call obj,param1 param2 paramn obj 這個物件將代替function類裡this物...