js中的bind、call、apply

1.做用:
call、apply和bind是Function对象自带的三个方法,都是为了改变函数体内部 this 的指向,区别是call()和apply()在调用函数以后会当即执行,而bind()方法调用并改变函数运行时上下文后,返回一个新的函数,供咱们须要时再调用。它们的第一个参数,都是指定一个运行时的上下文,也就是this的指向。bind,和call,指定this指向的参数后,能够加入多个参数,而apply则接受一个数组做为参数。
2.如何选用:
若是不须要关心具体有多少参数被传入函数,选用apply()。
若是肯定函数可接收多少个参数,而且想一目了然表达形参和实参的对应关系,用call()。
若是咱们想要未来再调用方法,不需当即获得函数返回结果,则使用bind()。数组

相关文章
相关标签/搜索