- this指向当前对象
console.log(this)
打印出来的是window- 在严格模式下this指向undefind
function foo(){
'use strict'
console.log(this)
}
foo()
输出结果:undefind
- 定时器的this指向
setTimeout(function(){
console.log(this)
},1000)
输出结果:Window
- this并不是在定义的时候决定的,而是在执行的时候决定的
var qm2={
name:'cie2',
showName:function(){
return this
}
}
var qm={
name:'cie',
showName:function(){
return qm2.showName()
}
}
console.log(qm.showName())
输出结果:
- 在普通的定时器中,this指向window
var qm={
name:'cie',
showName:function(){
setTimeout(function(){
console.log(this)
},1000)
}
}
qm.showName()
输出结果:Window
- 在箭头函数中,this指向
var qm={
name:'cie',
showName:function(){
setTimeout(()=>{
console.log(this)
},1000)
}
}
qm.showName()