/call()方法/
function.call(thisobj[, arg1[, arg2[, [,…argn]]]]);
它們各自的定義:
call:呼叫乙個物件的乙個方法,用另乙個物件替換當前物件。例如:b.call(a, args1,args2);即a物件呼叫b物件的方法。
它們的共同之處:
都「可以用來代替另乙個物件呼叫乙個方法,將乙個函式的物件上下文從初始的上下文改變為由thisobj指定的新物件」。
它們的不同之處:
示例**:
(1)基本用法
/call的用法/
var a1 = add.call(sub,4,2);
複製**
(2)實現繼承
複製**
function animal(name)
}var cat = new cat(「咕咕」);
cat.showname();
/call的用法/
animal.call(this,name);
複製**
(3)多重繼承
複製**
function class10()
}function class11()
}var c2 = new class12();
c2.showsub(3,1); //2
c2.showadd(3,1); //4
複製**
(1)math.max 可以實現得到陣列中最大的一項:
數的方式傳遞給方法)
這塊在呼叫的時候第乙個引數給了null,這是因為沒有物件去呼叫這個方法,我只需要用這個方法幫我運算,得到返回的結果就行,所以直接傳遞了乙個null過去。
(2)array.prototype.push可以實現兩個陣列的合併
Js中apply方法詳解
本文摘自 主要我是要解決一下幾個問題 function.call obj,param1 param2 paramn obj 這個物件將代替function類裡this物件 params 這個是乙個引數列表 this 在建立物件在這個時候代表的是student arguments 是乙個陣列,也就是 ...
js中apply方法使用詳解
主要我是要解決一下幾個問題 function.call obj,param1 param2 paramn obj 這個物件將代替function類裡this物件 params 這個是乙個引數列表 this 在建立物件在這個時候代表的是student arguments 是乙個陣列,也就是 zhang...
apply 方法和call 方法
obj.func.call obj1 是將obj1看做obj,呼叫func方法,將第乙個引數看做函式呼叫的物件,可以看做,將obj的方法給obj1使用 在函式體內this的值就是指向這個呼叫者,也就是第乙個引數,剩餘的引數都是需要傳遞給函式的值 例如 function add a,b return ...