想要使用不属于自己的方法或属性时,考虑改变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) 此时this为window
}
buluohe()
}