call、apply、bind

JavaScript为我们专门提供了一些函数方法来帮我们更优雅的处理函数内部this的指向问题,常用的有bind(),call(),apply()三种方法

相同点:都可以改变函数内部的this指向

区别点:

1.call和apply会调用函数,并且改变函数内部this指向

2.call和apply传递的参数不一样,call传递参数aru1,aru2,apply必须以数组形式[arg]传递参数

3.bind不会调用函数,可以改变函数内部this指向

主要应用场景:

1.call经常做继承       

 2.apply经常跟数组有关系,比如借助于数学对象实现数组最大值最小值        

3.bind不调用函数,但是还想改变this指向,比如改变定时器内部的this指向 

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容