call 方法
呼叫乙個物件的乙個方法,以另乙個物件替換當前物件。
call([thisobj[,arg1[, arg2[, [,.argn]]]]])
引數
thisobj
可選項。將被用作當前物件的物件。
arg1, arg2, , argn
可選項。將被傳遞方法引數序列。
說明
call 方法可以用來代替另乙個物件呼叫乙個方法。call 方法可將乙個函式的物件上下文從初始的上下文改變為由 thisobj 指定的新物件。
如果沒有提供 thisobj 引數,那麼 global 物件被用作 thisobj。
說明白一點其實就是更改物件的內部指標,即改變物件的this指向的內容。這在物件導向的js程式設計過程中有時是很有用的。
引用網上乙個**段,執行後自然就明白其道理。
<
input
type
="text"
id="mytext"
value
="input text"
>
<
script
>
function
obj()
varvalue="
global 變數";
function
fun1()
window.fun1();
//global 變數
fun1.call(window);
//global 變數
fun1.call(document.getelementbyid('mytext'));
//input text
fun1.call(
newobj());
//物件!
script
>
執行如下**:
<
script
>
varfunc
=new
function
()var
myfunc
=function
(x)myfunc.call(func,
"var");
script
>
可見分別彈出了func和var。到這裡就對call的每個引數的意義有所了解了。
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首先,我們先看個簡單的...