js 中的apply和call和bind的用法

2022-02-25 08:54:31 字數 1279 閱讀 2548

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

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

params:這個是乙個引數列表

bind:和call的用法以及引數列表極為相識

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

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

params:這個是乙個引數列表

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

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

也就是通俗一點講就是:用student去執行person這個類裡面的內容,在person這個類裡面存在this.name等之類的語句,這樣就將屬性建立到了student物件裡面

2.       call示例

person.call(this,name,age);

這樣就ok了

3.       bind

bind()方法會建立乙個新函式,稱為繫結函式,當呼叫這個繫結函式時,繫結函式會以建立它時傳入 bind()方法的第乙個引數作為 this,傳入 bind() 方法的第二個以及以後的引數加上繫結函式執行時本身的引數按照順序作為原函式的引數來呼叫原函式。call返回值是執行之後的函式。call是把第二個及以後的引數作為全部實參傳入函式。

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

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

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

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

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

1 vararr1=new array("1","2","3");

2 3 vararr2=new array("4","5","6");

4 其中有大部分內容摘自:

js中call和apply用法

1 方法定義 call方法 語法 call thisobj arg1 arg2 argn 定義 呼叫乙個物件的乙個方法,以另乙個物件替換當前物件。說明 call 方法可以用來代替另乙個物件呼叫乙個方法。call 方法可將乙個函式的物件上下文從初始的上下文改變為由 thisobj 指定的新物件。如果沒...

JS中apply和call的區別

聯絡 obj 這個物件將代替 function類裡this物件,也即 function類 函式 裡的this不在是指 function 本身,而是obj args 這個是陣列型別的引數,它將作為引數傳給function args arguments 結果是還是執行 function 類方法 函式 的...

js中的apply和call函式

主要我是要解決一下幾個問題 obj 這個物件將代替function類裡this物件 args 這個是陣列,它將作為引數傳給function args arguments function.call obj,param1 param2 paramn obj 這個物件將代替function類裡this物...