js中call和apply的區別和用法

2021-07-06 07:25:15 字數 714 閱讀 3559

call 方法

呼叫乙個物件的乙個方法,以另乙個物件替換當前物件。

call([thisobj[,arg1[, arg2[,   [,.argn]]]]])

引數

thisobj

可選項。將被用作當前物件的物件。

arg1, arg2,  , argn

可選項。將被傳遞方法引數序列。

說明

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

如果沒有提供 thisobj 引數,那麼 global 物件被用作 thisobj。

說明白一點其實就是更改物件的內部指標,即改變物件的this指向的內容。這在物件導向的js程式設計過程中有時是很有用的。

引用網上乙個**段,執行後自然就明白其道理。

執行如下**:

<

script

>

var func

=new

function

()var

myfunc

=function

(x)myfunc.call(func,

"var");

script

>

可見分別彈出了func和var。到這裡就對call的每個引數的意義有所了解了。

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物...