刚学前端的朋友,如果使用一些框架,在框架里就经常会看到今天这篇文章要介绍的三兄弟:apply,call,bind,我也经常把他们搞混了,网上的资料很多,但是个人感觉大多数都没说到点上,而且看的比较头晕,其实他们之间的区别很简单,这篇文章不长,但希望对你理解这三个家伙有所帮助。
共同特点 ​
首先介绍下这三个函数的共同特点:绑定上下文(this)的执行环境,比如说:
let person = {name:"我"}
function applyTest(){
console.info(this.name)
}
applyTest.alet person = {name:"我"}
function applyTest(){
console.info(this.name)
}
applyTest.a
Hello Yu
