千锋教育JavaScript全套视频教程(10天学会Js,前端javascrip

对this的理解
1.任何情况下直接在script中写入的this都是window。
2.函数中的this 非严格模式:this指向window, 严格模式时:this指向undefined。
3.箭头函数的this:this都指向箭头函数外上下文环境的this指向
4.对象中this:对象属性的this指向对象外上下文环境的this
对象方法(普通函数)中的this,指向当前对象(谁执行该方法,this就指向谁)
5.回调函数的this指向
1)setTimeout,setInterval回调函数不管是否是严格模式都会指向window。
2)通过在函数内执行当前回调函数 非严格模式:this指向window, 严格模式时:this指向undefined。
3)递归函数中的this 非严格模式:this指向window, 严格模式:this指向undefined。
4)使用arguments0执行函数时,this指向arguments。
5)事件中的回调函数,this指向事件侦听的对象(e.currentTarget)
6.call、apply、bind方法执行时this的指向
如果call、apply、bind传参时,第一个参数传入的不是null或者undefined,传入什么this指向什么
如果第一个参数传入的是null或者undefined,非严格模式下指向window
7.在ES6的类中this的指向
在构造函数中的this指向实例当前类所产生的新实例对象
类中实例化方法中this指向谁执行该方法,this指向谁
类中静态方法中this执行该类或者该类的构造函数
类中实例化箭头方法,this仍然指向当前类实例化的实例对象
8.ES5原型对象中this指向
在原型的方法中,this指向实例化当前构造函数的实例化对象(谁执行该方法,this指向谁)