this指向问题(8种情况)
this指向全局
this==window
构造函数中
1.使用new出来的对象,this指向new出来的对象
2.如果当做普通函数,则this指向window
对象方法中
1.在对象方法中,this指向该对象
2.如果有变量直接指向这个方法,则this指向window
3.如果该对象方法中有指向函数,则this指向window
原型定义方法中
通过构造函数原型对象prototype添加的函数内部的this指向实例对象
也可以这么理解,原型定义方法中的this指向实例对象
call、apply、bind
指向obj
call(obj,str1,str2)
apply(obj,[str1,str2])
bind(obj,str1,str2)返回的是一个函数
操作dom
this指向该节点的dom对象
箭头函数
1.箭头函数没有this
2.this指向箭头函数的上一层作用域的this
绑定方式
1.隐士绑定
谁调用方法,this指向谁
2.显示绑定
call、apply、bind
3.new绑定
4.优先级:
new绑定>显示绑定>隐士绑定
更多详情....