关于call()、bind()、apply()小知识点

call,bind,apply都是修改对象的this指针。

function.call():修改this指针并执行函数,参数为具体的参数。

function.bind():修改this指针但是不执行函数,返回的是函数名称,必须调用函数才能执行,参数为具体参数

function.apply():修改this指针并执行函数,参数为参数数组

注意:

一、call()
1.非严格模式
如果不传参数,或者第一个参数是null或undefined,this都指向window

2.严格模式
第一个参数是谁,this就指向谁,包括null和undefined,如果不传参数this就是undefined

二、apply()
和call()基本上一致,唯一区别在于传参方式

三、bind()
语法和call一模一样,区别在于立即执行还是等待执行,bind不兼容IE6~8

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

推荐阅读更多精彩内容