箭头函数和普通函数区别
//普通函数
const fn = function() {
return qwer
}
//箭头函数
const fn = () => { //()放参数
return qwer
}
//如果箭头函数参数只有一个,可以省去括号,比如(a)写成 a
//如果函数体中只有返回值,可以省略return 和 { }
//区别
let obj = {
sex: '男',
//let self = this
fn() {
setTimeout(function() {
console.log('我的性别是' + this.name)
),2000}
}
obj.fn() //打印不出来性别
区别:
this指向不同。普通函数是谁调用,this就指向谁,setTimeout是window调用的;箭头函数的this是指向上一级。普通函数可以通过改变this指向来调用setTimeout,箭头函数不能改变this指向