箭头函数语法: (参数列表) => { 函数代码块 }
箭头函数简单使用
普通函数:
const fun = function (num1,num2) {
return num1 + num2
}
箭头函数:
const sum = (num1, num2) => {
return num1 + num2
}
当参数只有一个时可省略括号
const power = num => {
return num * num
}
当函数代码块中只有一行代码时,可以省略大括号和return
const power = num => num * num
箭头函数关于this的使用
箭头函数中的this是向外层作用域中, 一层层查找this, 直到有this的定义.
例1:
const obj = {
aaa() {
setTimeout(function () {
console.log(this); // window
})
setTimeout(() => {
console.log(this); // obj对象
})
}
}
obj.aaa()
例2:
const obj = {
aaa() {
setTimeout(function () {
setTimeout(function () {
console.log(this); // window
})
setTimeout(() => {
console.log(this); // window
})
})
setTimeout(() => {
setTimeout(function () {
console.log(this); // window
})
setTimeout(() => {
console.log(this); // obj
})
})
}
}
obj.aaa()