首先要知道,什么是this? 在函数执行时,JS解析器每次都会传递进一个隐含参数,这个参数就叫this.
this会指向一个对象,this所指向的对象会根据函数调用方式的不同而不同
以函数的形式调用时,this指向的是window
以方法的形式调用时,this指向的是调用方法的对象
通过this可以在方法中引用调用方法的对象
console.log(this) // 指向window
function fn() {
console.log(this)
}
fn() // 指向window fn() ==== window.fn()
const obj = {name:'测试'}
obj.test = fn
obj.test() // 指向obj
const obj1 = {
name: '小呆',
sayHello:function(){
console.log(this)
}
}
obj1.sayHello() // 指向obj1
this会指向一个对象,this所指向的对象会根据函数调用方式的不同而不同
以函数的形式调用时,this指向的是window
以方法的形式调用时,this指向的是调用方法的对象
通过this可以在方法中引用调用方法的对象
console.log(this) // 指向window
function fn() {
console.log(this)
}
fn() // 指向window fn() ==== window.fn()
const obj = {name:'测试'}
obj.test = fn
obj.test() // 指向obj
const obj1 = {
name: '小呆',
sayHello:function(){
console.log(this)
}
}
obj1.sayHello() // 指向obj1
