位置: IT常识 - 正文

js 箭头函数详解(jquery箭头函数)

编辑:rootadmin
js 箭头函数详解 1. 认识箭头函数

推荐整理分享js 箭头函数详解(jquery箭头函数),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js 箭头函数详解方法,js箭头函数作用域,js 箭头函数详解代码,js 箭头函数详解代码,js箭头函数理解,js 箭头函数详解视频,js 箭头函数详解代码,js 箭头函数详解代码,内容如对您有帮助,希望把文章链接给更多的朋友!

es6 新增了使用胖箭头(=>)语法定义函数表达式的能力,很大程度上,箭头函数实例化的函数对象与正式的函数表达式创建的函数对象行为是相同的。任何可以使用函数表达式的地方,都可以使用箭头函数:

// 普通函数let sum = function(a, b) {return a + b;}// 箭头函数let sum1 = (a, b) => {return a + b;}

箭头函数简洁的语法对开发者来说是十分友好的,从上面的例子可以得知箭头函数的简单用法: (参数) => { 函数体 }

2. 箭头函数的一些用法1. 省略包含参数的小括号

如果只有一个参数,那也可以不用括号。只有没有参数,或者多个参数的情况下,才需要使用括号:

// 有效let sum = (x) => {return x;};// 有效let sum1 = x => {return x;};// 没有参数需要括号let sum2 = () => {return 1;};// 有多个参数需要括号let sum3 = (a, b) => {return a + b;};2. 省略包含函数体的大括号

箭头函数也可以不用大括号,但这样会改变函数的行为。使用大括号就说明包含“函数体”,可以在一个函数中包含多条语句,跟常规的函数一样。

省略大括号箭头后面就只能有一行代码;省略大括号会隐式返回这行代码的值;省略大括号不能写return。// 有效let sum = (a, b) => {return a + b;};// 有效let sum1 = (a, b) => a + b; // 相当于 return a + b;// 无效的写法let sum2 = (a, b) => return a + b;3. 嵌入函数js 箭头函数详解(jquery箭头函数)

箭头函数简洁的语法非常适合嵌入函数的场景:

let arr = [1, 2, 3, 4, 5];arr.map(val => val * 2); // [2, 4, 6, 8, 10]3. 箭头函数不能使用arguments

如果函数是使用箭头语法定义的,那么传给函数的参数将不能使用 arguments 关键字访问:

// 普通函数let sum = function() {return arguments.length;}sum(1, 2, 3); // 3// 箭头函数let sum1 = () => {return arguments.length;}sum1(1, 2); // Uncaught ReferenceError: arguments is not defined

虽然箭头函数中没有 arguments 对象,但可以在包装函数中把它提供给箭头函数:

function foo() {let bar = () => {console.log(arguments.length);}bar(); }foo(5, 5, 5); // 34. 箭头函数中this 指向let num = 11;const obj1 = {num: 22,fn1: function() {let num = 33;const obj2 = {num: 44,fn2: () => {console.log(this.num);}}obj2.fn2();}}obj1.fn1(); // 22

fn2中得到的结果为:22

原因箭头函数没有this,箭头函数的this是继承父执行上下文里面的this ,这里箭头函数的执行上下文是函数fn1(),所以它就继承了fn1()的this,obj1调用的fn1,所以fn1的this指向obj1, 所以obj1.num 为 22。 注意:简单对象(非函数)是没有执行上下文的!

如果fn1也是个箭头函数呢?

let num = 11; // const obj1 = {num: 22,fn1: () => {let num = 33;const obj2 = {num: 44,fn2: () => {console.log(this.num);}}obj2.fn2();}}obj1.fn1();

上述结果为undefined,因为fn1也是一个箭头函数,所以它就只能继续向上找也就是window了。

那为什么是undefined而不是11呢?

这里涉及到var和let

本文链接地址:https://www.jiuchutong.com/zhishi/300823.html 转载请保留说明!

上一篇:机器学习中的数学——距离定义(八):余弦距离(Cosine Distance)

下一篇:损失函数解读 之 Focal Loss(损失函数解读例题)

  • 是不是买了路由器就可以上网了(是不是买了路由器才能用)

    是不是买了路由器就可以上网了(是不是买了路由器才能用)

  • 腾讯课堂怎么关摄像头(腾讯课堂怎么关麦)

    腾讯课堂怎么关摄像头(腾讯课堂怎么关麦)

  • 复制到剪贴板的快捷键(复制到剪贴板的内容怎么删除)

    复制到剪贴板的快捷键(复制到剪贴板的内容怎么删除)

  • 手机可以控制电视吗(手机可以控制电视遥控器吗)

    手机可以控制电视吗(手机可以控制电视遥控器吗)

  • 手机链接打印机字体怎么调(怎么手机链接打印机)

    手机链接打印机字体怎么调(怎么手机链接打印机)

  • 浏览不良网站对手机有什么影响呢(浏览不良网站对个人有什么影响)

    浏览不良网站对手机有什么影响呢(浏览不良网站对个人有什么影响)

  • 腾讯会议文档导入失败的原因(腾讯会议文档导出权限设置)

    腾讯会议文档导入失败的原因(腾讯会议文档导出权限设置)

  • 淘宝拒收后多久钱退回来(淘宝拒收后多久能退款)

    淘宝拒收后多久钱退回来(淘宝拒收后多久能退款)

  • 为什么开通不了情侣空间(为什么开通不了白条分分卡)

    为什么开通不了情侣空间(为什么开通不了白条分分卡)

  • 网络los是什么意思(网络用语los是什么意思)

    网络los是什么意思(网络用语los是什么意思)

  • 为什么手机电量突然就没了(为什么手机电量充到80就不动了)

    为什么手机电量突然就没了(为什么手机电量充到80就不动了)

  • mate20pro人脸无法录入(华为mate20pro人脸录入不了)

    mate20pro人脸无法录入(华为mate20pro人脸录入不了)

  • 微信收款商家版和个人版有什么区别(微信收款商家版怎么提现到银行卡)

    微信收款商家版和个人版有什么区别(微信收款商家版怎么提现到银行卡)

  • 显卡是用来连接主机和什么的接口电路(显卡是跟啥连接的)

    显卡是用来连接主机和什么的接口电路(显卡是跟啥连接的)

  • 苹果手机锁屏旁白怎么关闭(苹果手机锁屏旁白)

    苹果手机锁屏旁白怎么关闭(苹果手机锁屏旁白)

  • 荣耀20i返回键在哪(荣耀20如何调出返回键)

    荣耀20i返回键在哪(荣耀20如何调出返回键)

  • 快手已戳怎么取消(快手里的已戳能取消吗)

    快手已戳怎么取消(快手里的已戳能取消吗)

  • word怎么设置等宽两行(word怎么设置等级)

    word怎么设置等宽两行(word怎么设置等级)

  • 小米8se如何切换双卡(小米八怎么切换手机分身)

    小米8se如何切换双卡(小米八怎么切换手机分身)

  • 快手卡点视频怎么弄(快手怎么卡点视频怎么剪辑)

    快手卡点视频怎么弄(快手怎么卡点视频怎么剪辑)

  • qq禁止安装怎么解除(手机qq被禁止安装程序在哪设置可以取消)

    qq禁止安装怎么解除(手机qq被禁止安装程序在哪设置可以取消)

  • 为什么有时候微信不提示消息(为什么有时候微信消息弹不出来)

    为什么有时候微信不提示消息(为什么有时候微信消息弹不出来)

  • 微信朋友圈如何关掉视频自动播放(微信朋友圈如何关闭)

    微信朋友圈如何关掉视频自动播放(微信朋友圈如何关闭)

  • airpods2电量怎么看(airpods2电量怎么看ipad)

    airpods2电量怎么看(airpods2电量怎么看ipad)

  • 怎么加微信群(怎么建微信群聊)

    怎么加微信群(怎么建微信群聊)

  • 金税盘开票软件密码忘记怎么办
  • 教育费附加的计征依据包括
  • 销售货物提供运输是否分别核酸的例题
  • 固定资产出售如何申报增值税
  • 收回应收账款编制什么凭证
  • 留抵税额下月抵扣的分录
  • 三代手续费怎么申请返还
  • 申报作废了还能修改吗
  • 累计缴税扣除额
  • 社保免征还需要申报吗
  • 应交税费明细表填制
  • 技术入股亏损如何清算
  • 土地转让交哪些税种
  • 以库存商品抵偿债务
  • 提前退休取得的一次性补贴收入
  • 补交关税增值税怎么做分录?
  • 土地证是商业用地
  • 员工租赁宿舍开几个点发票
  • 系统备份工具
  • u盘ghost下载
  • 公司收到拆迁补偿款要交税吗
  • 公司注销往来账的账务处理
  • 农业合作社农民合作社
  • 进项发票失控怎么办
  • php教程 ftp 函数
  • 贴现短期无息应付票据
  • bwkp.exe是什么程序
  • php imagick
  • 外包员工的工资外包公司会扣吗
  • 旅行社的会计
  • linux命令大全详解
  • 一般纳税人未取得增值税专用发票怎么处理
  • 出口免抵增值税是什么意思
  • 目标检测标注框的规则
  • vuecli配置代理
  • 金蝶怎么修改制单人
  • 租赁业务
  • 修改Dede默认投票代码 防止Request Error错误
  • 汽车车票增值税税率
  • 购买用品开专票怎么开
  • 待转销项税额转出
  • 购入商品再卖出
  • 财政补贴收入要交增值税税率
  • 库存商品是表达什么意思
  • 可转债会计分录怎么做
  • 国库券利息收入属于企业所得税纳税调整项目
  • 小企业外币业务包括
  • 以前年度损益调整账务处理分录
  • 探望生病员工属于什么费用
  • 借分公司的款收据怎么开
  • 已退货对方不开红字
  • 不得从销项税额中抵扣的进项税额,不得计提加计抵减额
  • sql字段转首字母大写
  • win8更改系统字体
  • coms恢复出厂设定还原bios设置方法步骤讲解
  • 怎么测试windows摄像头
  • 电脑开机自动弹出
  • 邮件远程控制
  • linux中使用最多的命令
  • windows 8.1更新
  • scards32.exe - scards32是什么进程 有什么用
  • 怎么优化win10系统
  • win10系统中怎么打开IE浏览器
  • 如何解决win7系统中鼠标键盘不能用
  • linux安装docker-compose
  • 如何设置edittext控件中的文字
  • 批处理 /b
  • nodejs中的事件循环的执行顺序
  • css实战案例
  • python编程判断一千以内含88的数的方法
  • dirsearch批量
  • unity的ugui
  • jquery地址
  • JavaScript中的case
  • jquery从左到右渐渐显示
  • python datetime.now
  • jsonobject用法
  • 电子税务局可以开纸质发票吗
  • 国税发1994 关于个人所得税
  • 粤泰股份公司
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设