1.箭头函数
箭头函数没有this,this指向外部调用者的this指向
额外,this指向
普通函数调用 window
构造函数调用 实例对象
对象方法调用 该方法所属的对象
事件绑定方法 绑定事件的对象
定时器 window
立即执行函数 window
额外,严格模式this指向
普通函数调用 undefined
构造函数调用 指向实例对象(不加new报错)
对象方法调用 该方法所属的对象
事件绑定方法 绑定事件的对象
定时器 window
立即执行函数 window
额外,改变this指向的方法
1.fn.call(需要指向谁,参数1,参数2,…)
2.fn.apply(需要指向谁,[参数1,参数2,…])
3.fn.bind(需要指向谁,参数1,参数2…)
注意:bind不会调用函数,改变指向,一般用在定时器上
this的真谛就是,不管函数在哪里,全局还是对象里面,只关心是谁调用了函数或者说是用什么方式调用了函数。
2.对象
a.属性名
如果属性名是表达式可以使用[]
const key = e.target.name
obj ={[key]: value}