1、在全局作用域下, this指向的是window对象

2、在普通函数作用域下
在非严格模式下,this的指向依旧是window对象

在严格模式下,this的指向是undefined

3、构造函数调用, this 指向是实例对象


4、对象方法调用,this 指向该方法所属的对象


5、通过事件绑定的方法, this 指向绑定事件的对象


6、在定时器函数下, this 指向 window

7、更改this指向的三个方法
我们知道在普通函数里this指向window,下面提供三种方法改变this的指向,分别为:call()、apply()、bind()

差别:
call 、bind 、 apply 这三个函数的第一个参数都是 this 的指向对象。
call和bind 的参数是直接放进去的,第二第三第 n 个参数全都用逗号分隔。apply 的所有参数都必须放在一个数组里面传进去。
bind 返回的是一个新的函数,你必须调用它才会被执行,所以多了一个括号。
文章转载于:https://www.jianshu.com/p/79a44f064571
原著是一个有趣的人,若有侵权,请通知删除
还没有人抢沙发呢~