this的指向问题
this是一个在运行时才进行绑定的引用,在不同的情况下它可能会被绑定不同的对象
this 永远指向最后调用它的那个对象
函数调用模式:当一个函数不是一个对象的属性,直接作为函数来调用时,this指向全局对象
方法调用模式:当一个函数作为一个对象的方法来调用时,this指向这个对象
构造器调用模式:如果一个函数使用new调用时,函数在执行前会创建一个新的对象,this就指向这个新的对象
如何改变this的指向?
使用ES6箭头函数,箭头函数不绑定this,箭头函数的this使用指向函数定义时的this
在函数内部定义一个变量_this保存this
使用 apply、call、bind
new 实例化一个对象
this绑定的优先级:new绑定优先级 > 显示绑定优先级 > 隐式绑定优先级 > 默认绑定优先级
this是一个在运行时才进行绑定的引用,在不同的情况下它可能会被绑定不同的对象
this 永远指向最后调用它的那个对象
函数调用模式:当一个函数不是一个对象的属性,直接作为函数来调用时,this指向全局对象
方法调用模式:当一个函数作为一个对象的方法来调用时,this指向这个对象
构造器调用模式:如果一个函数使用new调用时,函数在执行前会创建一个新的对象,this就指向这个新的对象
如何改变this的指向?
使用ES6箭头函数,箭头函数不绑定this,箭头函数的this使用指向函数定义时的this
在函数内部定义一个变量_this保存this
使用 apply、call、bind
new 实例化一个对象
this绑定的优先级:new绑定优先级 > 显示绑定优先级 > 隐式绑定优先级 > 默认绑定优先级