如何理解Js中的call及apply?

2021-08-27 03:52:15 字數 463 閱讀 6944

call()

語法:a.call(obj,引數1,引數2…)

將方法a作用到obj身上來執行,a中的this將指向obj

a必須是函式物件!

語法:demo1:

var obj = 

};var obj2 = ;

obj.event.call(obj2,"北京","學前端");//小王在20歲的時候獨自去北京學前端

使用場景

如上訴demo,當需要改變this指標時使用

還擁有一種情況當需要繼承時

function

person

(hobby)

}function

person2

(hobby)

var b = new person2("健身");

b.like();

如何理解和熟練運用js中的call及apply?

function cat cat.prototype var blackcat new cat blackcat.say 用的比較多的,通過document.getelementsbytagname選擇的dom 節點是一種類似array的array。它不能應用array下的push,pop等方法。我...

如何理解和熟練運用js中的call及apply?

obj.call thisobj,arg1,arg2,兩者作用一致,都是把obj 即this 繫結到thisobj,這時候thisobj具備了obj的屬性和方法。或者說thisobj 繼承 了obj的屬性和方法。繫結後會立即執行函式。function add j,k function sub j,k...

如何理解和熟練運用js中的call及apply?

obj.call thisobj,arg1,arg2,兩者作用一致,都是把obj 即this 繫結到thisobj,這時候thisobj具備了obj的屬性和方法。或者說thisobj 繼承 了obj的屬性和方法。繫結後會立即執行函式。function add j,k function sub j,k...