obj.call(newobj, arg1, arg2, ...);
上面的都是把obj的this指向了newobj,這時newobj就繼承了obj的屬性和方法。
兩者區別是接收的引數不同,第乙個引數都是函式執行的作用域(this),
call接受的是連續引數,如果沒有提供newobj引數,那麼global物件被用於newobj。
如下面的例子
function add(j, k)function sub(j, k)
add(
2, 1); //
3 add.call(sub, 2, 1); //33
sub(
2, 1); //
1 sub.call(add, 2, 1); //11
JS中apply和call的區別
聯絡 obj 這個物件將代替 function類裡this物件,也即 function類 函式 裡的this不在是指 function 本身,而是obj args 這個是陣列型別的引數,它將作為引數傳給function args arguments 結果是還是執行 function 類方法 函式 的...
call 和apply 的區別
call方法 語法 call thisobj,object 定義 呼叫乙個物件的乙個方法,以另乙個物件替換當前物件 說明 call方法可以用來代替另乙個物件呼叫乙個方法。call方法可將乙個函式的物件上下文從初始的上下文改變為由thisobjext指定的新物件。如果沒有提供thisobj引數,那麼g...
call和apply的區別
1 方法定義 call方法 語法 call thisobj arg1 arg2 argn 定義 呼叫乙個物件的乙個方法,以另乙個物件替換當前物件。說明 call 方法可以用來代替另乙個物件呼叫乙個方法。call 方法可將乙個函式的物件上下文從初始的上下文改變為由 thisobj 指定的新物件。如果沒...