call 方法
呼叫乙個物件的乙個方法,以另乙個物件替換當前物件。
call([thisobj[,arg1[, arg2[, [,.argn]]]]])
引數
thisobj
可選項。將被用作當前物件的物件。
arg1, arg2, , argn
可選項。將被傳遞方法引數序列。
說明 call 方法可以用來代替另乙個物件呼叫乙個方法。call 方法可將乙個函式的物件上下文從初始的上下文改變為由 thisobj 指定的新物件。
如果沒有提供 thisobj 引數,那麼 global 物件被用作 thisobj。
alert(math.max(5,8)); //8
alert(math.max(5,7,9,3,1,6)); //9
//但是在很多情況下,我們需要找出陣列中最大的元素。
var arr=[5,7,9,1];
//alert(math.max(arr)); // 這樣卻是不行的。nan
//要這樣寫
function getmax(arr)
return ret;
} alert(getmax(arr)); //9
function getmax2(arr)
alert(getmax2(arr)); //9
//兩段**達到了同樣的目的,但是getmax2卻優雅,高效,簡潔得多。
//再比如陣列的push方法。
var arr1=[1,3,4];
var arr2=[3,4,5];
//如果我們要把 arr2展開,然後乙個乙個追加到arr1中去,最後讓arr1=[1,3,4,3,4,5]
顯然是不行的。 因為這樣做會得到[1,3,4,[3,4,5]]
//我們只能用乙個迴圈去乙個乙個的push(當然也可以用arr1.concat(arr2),但是concat方法並不改變arr1本身)
var arrlen=arr2.length;
for(var i=0;i 應用某一物件的乙個方法,用另乙個物件替換當前物件。引數 thisobj 可選項。將被用作當前物件的物件。argarray 可選項。將被傳遞給該函式的引數陣列。說明 如果 argarray 不是乙個有效的陣列或者不是arguments物件,那麼將導致乙個 typeerror。如果沒有提供 argarr... 查了大量的資料,經過n次測試,總結如下 希望給像我一樣的菜鳥有幫助 call 方法名a.call 物件名b,執行a需要的引數,用逗號分隔 看例子 function obj1 function obj2 var k1 new obj1 var k2 new obj2 上面定義了兩個物件它們都有arg這... 1 方法定義 call方法 語法 call thisobj arg1 arg2 argn 定義 呼叫乙個物件的乙個方法,以另乙個物件替換當前物件。說明 call 方法可以用來代替另乙個物件呼叫乙個方法。call 方法可將乙個函式的物件上下文從初始的上下文改變為由 thisobj 指定的新物件。如果沒...apply和call的用法
apply和call的用法
js中call和apply用法