es6中不同函数的this指向问题(!)

普通函数

this指向window
1
2
3
4
5
function fn(){
console.log(1111+this)
}
window.fn()
// fn(),fn.call()

对象的方法

this指向的是o,也就是函数调用者
1
2
3
4
5
6
   let o = {
sayHi:function(){
console.log(1111)
}
}
o.sayHi()

构造函数

this指向的实例对象,也就是例子中的ldh,原型对象里面的this指向的是ldh这个实例对象
1
2
3
4
5
6
7
function Star(){

}
Star.prototype.sing = function(){

}
var ldh = new Star()

绑定事件函数

this指向的是函数的调用者
1
btn.onclick = function(){}

定时器函数

this指向的也是window
1
window.setInterval(function(){},1000)

立即执行函数

this指向的是window
1
2
3
4
(function(){
console.log(11111)
})()
// 立即执行函数是立即调用
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2022 BieGua
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信