this指针相关

176 阅读1分钟

想要使用不属于自己的方法或属性时,考虑改变this指针直接调用该方法

this指针默认指向直接调用者,没有直接调用者指向window

obj.func()     ==>     obj:直接调用者

show1 () {	console.log(this.message1) }.bind(this)()
show1 () {	console.log(this.message1) }.call(this,'first')
show1 () {	console.log(this.message1) }.apply(this,['first','second'])

bind绑定指针后返回一个函数,必须配合()进行调用
apply,call对函数绑定后直接调用,二者区别在于call(打电话叫人,一次叫一个),apply(申请,一次就要申请一个数组的人)

show2 (	() => {  console.log(this.message2) })

this指针相关,当在一个函数中嵌套一个函数时,内部函数的this指针为window

function renhanhan () {
	console.log(this)			此时this为vue实例
    function buluohe () {
      	console.log(this)		此时thiswindow
    }
    buluohe()
}