this的用法
1、this的用法:
this:
1、绑定事件的时候,事件"."前面是谁,this就是谁;
2、在函数执行的时候,看函数前有没有".",如果有".",看"."前面是谁,函数里的this就是谁,如果函数前面没有“.”,函数里的this是window
3、在回调函数中的this都是window;
4、自执行函数的this都是window
5、call可以改变函数中this;
6、构造函数中的this都是实例
2、call apply bind
call,apply,bind都是函数的方法;
call的第一个参数就是用来修改this的,从第二个参数开始传给fn,fn开始执行
apply和call的用法的区别:
都是改变函数中的this的
不同点:
call 的一个参数是改变函数中的this,后面的参数是一一传给 call前面的函数;
apply 的一个参数是改变函数中的this,后面的参数是以数组的形式传给apply前面的函数,其实内部也是一一传的;
bind方法: 也是用来改变this关键字的。
1)返回一个处理好this的新函数
2)和call、apply不同的是,改完this,call或者apply前面个函数会主动去执行;而bind不会;
在调用bind的时候就暂时不传参数,直接改变this就可以。bind返回的新函数在执行的时候再传参。
ps: 在ie低版本中是不兼容的