全局作用域或者普通函数中this指向全局对象window( 注意定时器里面的this指向window)
console.log(this)
function fn() {
console.log(this)
}
fn()
setTimeout(function () {
console.log(this)
}, 1000)
方法调用中谁调用 this 指向谁
let o = {
sayThis: function () {
console.log(this)
}
}
o.sayThis()
btn.onclick = function () {
console.log(this)
}
btn.addEventListener('click',function() {
console.log(this)
})
构造函数中 this 指向构造函数的实例
function Fun() {
console.log(this)
}
let fun = new Fun()
function get(content) {
console.log(content)
}
get('你好')
var person = {
name: '张三',
run: function (time) {
console.log(`${this.name} 在跑步,最多${time}min 就不行了`)
}
}
person.run(30)
var name = 222
var a = {
name: 111,
say: function() {
console.log(this.name)
}
}
var fun = a.say
fun()
a.say()
var b = {
name: 333,
say: function(fun) {
fun()
}
}
b.say(a.say)
b.say = a.say
b.say()