es5函数中使用this与es中箭头函数中使用this的不同
1. es5中的this指向
let pageHandle = {
id: 123,
handle: function(){
console.log(this)
console.log(this.id)
document.addEventListener('click', function(){
console.log(this)
})
}
}
pageHandle.handle()
2. es6箭头函数中的this指向
let pageHandle = {
id: 123,
handle: function(){
console.log(this.id)
document.addEventListener('click', ()=>{
console.log(this)
})
}
}
pageHandle.handle()
箭头函数使用的连个注意事项
1. 箭头函数中不能使用arguments参数
let func = (a, b)=>{
console.log(arguments)
}
func(1,2)
function func(a, b){
console.log(arguments)
}
func(1,2)
2. 箭头函数不能实例化对象
let Person = name => {
}
let person = new Person()
let Person = function(name){
this.name = name
}
let person = new Person('Tom')
console.log(person.name)