JavaScript中的箭头函数
箭头函数
1.用法
//常规的定义
var func1 = function(a,b){...}
//箭头函数
var func1 = (a,b) => {...}
//常规(函数体中只有一行return代码)
const func2 = function(a,b){return a + b}
//箭头
const func2 = (a,b) => a + b
//常规(参数只有一个)
const func3 = function(a){return a*a }
//箭头(当参数只有一个时,可以省略括号)
const func3 = a => a*a
2.箭头函数的this
箭头函数不会创建自己的this,它只会从自己的作用域链的上一层继承this。
下面的例子解析:
-
setTime1-------this是window
-
setTime1-1-------this是window
-
setTime1-2使用箭头函数,没有this,所以继承了setTime1中的this
-
setTime2使用箭头函数,没有this,所以继承了f1中的this,this值为obj对象
-
setTime2-1-------this是window
-
setTime2-2 使用箭头函数,没有this,所以继承了setTime2中的this,所以是obj对象
const obj = {
f1(){
//this==obj
//setTime1
setTime(function(){
//setTime1-1
setTime(function(){
console.log(this); //window(自身的)
})
//setTime1-2
setTime(()=>{
console.log(this); //window(继承于setTime1)
})
})
//setTime2
setTime(()=>{
//setTime2-1
setTime(function(){
console.log(this); //window(自身的)
})
//setTime2-2
setTime(()=>{
console.log(this); //object(继承于setTime2,而setTime2继承于f1函数,所以等于object)
})
})
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)