Javascript中call和apply的區別

2021-08-08 18:58:56 字數 711 閱讀 5889

**如下

function add(a,b)

function reduce(a,b)

add.call(reduce,1,3) //將add方法運用到reduce,結果為4

如下例:

**如下

複製**

function b()

b(); //window

b.call(); //window

b.call(「a」,2,3); //a

再看乙個複雜的例子:

**如下

function animal()

}function cat()

var animal = new animal();

var cat = new cat();

animal.showname(); //結果為animal

animal.showname.call(cat); //原本cat沒有showname方法,但是通過call方法將animal的showname方法應用到cat上,因此結果為cat

如下例子:

**如下

function animal(name)

}function cat(name)

var cat = new cat(「black cat」);

cat.showname(); //瀏覽器彈出black cat

a.call(b,arg1,arg2…)

javascript中call與apply的區別

123 45 call 方法 function.call thisobj arg1 arg2 argn call 呼叫乙個物件的乙個方法,用另乙個物件替換當前物件。例如 b.call a,args1,args2 即a物件呼叫b物件的方法。它們的共同之處 都 可以用來代替另乙個物件呼叫乙個方法,將乙個...

javascript中call與apply的區別

123 45 call 方法 function.call thisobj arg1 arg2 argn call 呼叫乙個物件的乙個方法,用另乙個物件替換當前物件。例如 b.call a,args1,args2 即a物件呼叫b物件的方法。它們的共同之處 都 可以用來代替另乙個物件呼叫乙個方法,將乙個...

JavaScript中的call和apply應用

舉個栗子 const obj1 const obj2 console.log obj1.getname microzz console.log obj1.getname.call obj2 zhaohui 有的時候我們會覺得 document.getelementbyid這個方法太長了,我們會嘗試用...