apply和call方法的區別和使用

2022-03-05 06:39:05 字數 321 閱讀 8922

function.prototype.call(thisarg[,arg1[,arg2…]]);

obj1的方法a被繫結到obj2執行後,整個函式a的執行環境就轉移到了obj2,即this指標指向了obj2。

function.prototype.call(thisarg[,arg1[,arg2…]]);

與arguments的length屬性不同,函式物件還有乙個屬性length,它表示函式定義時所指定引數的個數,而非呼叫時實際傳遞的引數個數。例如下面的**將顯示2:

function sum(a,b)

alert(sum.length);

call() 和 apply()方法的區別

var foo window.value 2 function bar bar 2 bar.call foo 1 改變了函式裡面this額指向,原來指向的是wingdow,現在指向的是foo這個物件 function test str test jdaj jdaj var object new ob...

call 和apply 的區別

call方法 語法 call thisobj,object 定義 呼叫乙個物件的乙個方法,以另乙個物件替換當前物件 說明 call方法可以用來代替另乙個物件呼叫乙個方法。call方法可將乙個函式的物件上下文從初始的上下文改變為由thisobjext指定的新物件。如果沒有提供thisobj引數,那麼g...

call和apply的區別

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