使用bind/call/apply来解决JavaScript中的this指向问题

当使用setTimeout或嵌套函数时,this会丢失或变为并非我们期待的对象

这时我们可以使用call、apply或bind来解决这一问题

需要注意的是这3个函数的区别

fn.bind的返回值为绑定this后的新函数,须存放到变量里,变量()调用

call和apply则是立即调用

但是call的后续参数同原函数,apply则为包含所有原函数参数的类数组

posted @ 2021-12-24 11:11  鹏老师的笔记  阅读(41)  评论(0)    收藏  举报