位置: 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(损失函数解读例题)

  • qq文字识别功能在哪(qq文字识别功能在哪电脑版)

    qq文字识别功能在哪(qq文字识别功能在哪电脑版)

  • 苹果手机怎么设置来电秀视频(苹果手机怎么设置门禁卡NFC)

    苹果手机怎么设置来电秀视频(苹果手机怎么设置门禁卡NFC)

  • 闲鱼要开通买家保障么(闲鱼开通买家保障服务为什么要付钱)

    闲鱼要开通买家保障么(闲鱼开通买家保障服务为什么要付钱)

  • 笔记本电脑时间不能自动更新(笔记本电脑时间不对怎么调整)

    笔记本电脑时间不能自动更新(笔记本电脑时间不对怎么调整)

  • 打印页边距调多少合适(打印时页边距可以设置最高是多少)

    打印页边距调多少合适(打印时页边距可以设置最高是多少)

  • 华为MRXw09和w19区别(华为平板mrxw09和w19区别)

    华为MRXw09和w19区别(华为平板mrxw09和w19区别)

  • vivoy50电池容量(vivoy50电池容量多少毫安)

    vivoy50电池容量(vivoy50电池容量多少毫安)

  • 酷狗音乐包下载的歌曲是永久的吗(酷狗音乐包下载的歌曲到期后还能听吗)

    酷狗音乐包下载的歌曲是永久的吗(酷狗音乐包下载的歌曲到期后还能听吗)

  • 苹果手机为什么闹钟设置了却不响(苹果手机为什么屏幕会突然变暗)

    苹果手机为什么闹钟设置了却不响(苹果手机为什么屏幕会突然变暗)

  • pin锁是什么(什么是pin码怎么解锁)

    pin锁是什么(什么是pin码怎么解锁)

  • 格式工厂ncm转mp3失败(格式工厂ncm转mp3在线转好还是用软件转好)

    格式工厂ncm转mp3失败(格式工厂ncm转mp3在线转好还是用软件转好)

  • 红包wifi是什么意思啊(红包wifi能赚多少钱)

    红包wifi是什么意思啊(红包wifi能赚多少钱)

  • 苹果无线耳机三代和二代的区别(苹果无线耳机三代什么时候出的)

    苹果无线耳机三代和二代的区别(苹果无线耳机三代什么时候出的)

  • 芯片的主要功能(8205a芯片的主要功能)

    芯片的主要功能(8205a芯片的主要功能)

  • ios12beta11怎么升级(如何升级ios12.0)

    ios12beta11怎么升级(如何升级ios12.0)

  • a1586是三网通吗(a1586支持联通吗)

    a1586是三网通吗(a1586支持联通吗)

  • qq情侣黄钻一个人开另一个也有吗(qq情侣黄钻一个人开了,对方不开黄钻会消失吗?)

    qq情侣黄钻一个人开另一个也有吗(qq情侣黄钻一个人开了,对方不开黄钻会消失吗?)

  • ie浏览器怎样全页截图(ie浏览器选项在哪)

    ie浏览器怎样全页截图(ie浏览器选项在哪)

  • ipad tv电视棒怎么用

    ipad tv电视棒怎么用

  • 一周cp怎么注销账户(一周cp怎么注销不了)

    一周cp怎么注销账户(一周cp怎么注销不了)

  • 微星b450m如何开启Vt(微星b450vt怎么开启)

    微星b450m如何开启Vt(微星b450vt怎么开启)

  • ios13发热严重(ios13.3发热严重)

    ios13发热严重(ios13.3发热严重)

  • airpods2容易掉吗(airpods2容易脱落吗)

    airpods2容易掉吗(airpods2容易脱落吗)

  • 怪兽充电宝可以在其他地方还吗(怪兽充电宝可以自己充电吗)

    怪兽充电宝可以在其他地方还吗(怪兽充电宝可以自己充电吗)

  • 微信可以查历史头像吗(微信可以查历史头像吗怎么查)

    微信可以查历史头像吗(微信可以查历史头像吗怎么查)

  • 织梦手机站怎么做?Dedecms手机站三种不同建设方法和优劣分析(织梦建站详细教程)

    织梦手机站怎么做?Dedecms手机站三种不同建设方法和优劣分析(织梦建站详细教程)

  • 税率变化递延所得税资产怎么计算
  • 企业所得税的账户设置
  • 小规模附加税如何做帐
  • 工程项目需要交5000万保证金合理吗
  • 申报个税需要扣除公积金和社保吗
  • 什么情况需要预缴税款
  • 资产减值损失结转到哪个科目
  • 出售简易征收的固定资产的增值税怎么计算
  • 如何计算个别资金成本?
  • 土地转让如何缴纳增值税
  • 承兑汇票怎么委托收款
  • 公司水费怎么做账
  • 保证金转租金的会计处理
  • 减少实收资本会引起资产和所有者权益发生变化吗
  • 事业基金减少原因一般是什么
  • 递延所得税负债是什么意思
  • 税金及附加与期间费用区别
  • 年会的奖金入什么科目
  • 服务类的企业发票税率
  • 清包工如何纳税
  • 发票二维码压线可以用吗
  • 可以自行设计的软件
  • 延期付款利息到底有没有税务风险
  • 全资子公司合并抵消
  • 建筑安装施工过程
  • 新公司企业怎么注册
  • 企业不征税收入用于支出所形成的固定资产
  • 外贸出口支付方式
  • 股权投资涉税问题
  • 如何做好财务工作发言
  • 克罗地亚佩列沙茨
  • 预收账款什么时候确认
  • isahelp是什么进程
  • 电脑的nip是什么
  • 可转换债券的特点有哪些?
  • 留存收益是否计入成本
  • 股东权益增加额/期初净经营资产
  • 周转材料摊销是什么科目
  • web前端开发学什么
  • 史上无敌的超级兵王
  • uniapp前端 django后端
  • php获取文件信息
  • 逾期未退押金是否确认收入
  • 分公司开票总公司收款怎么做账
  • 技术开发免征增值税怎么开票
  • 水电费专用发票模板
  • 增值税不得抵扣的情形
  • 活动策划费属于哪个开票项目
  • 小规模纳税人购买税控设备
  • 社会团体收到的会费怎么入账
  • 给员工购买的意外险可以税前扣除吗
  • etc 电子票
  • 医院收费单可以当发票吗
  • 成本核算的意义在于
  • mysql 通过拷贝数据文件的方式进行数据库迁移实例
  • mac自动操作怎么停止
  • jucheck.exe
  • windows自动启动设置
  • win7系统安装教程不用u盘
  • win10双击应用程序没反应
  • win 7怎么设置开机启动
  • cocos2djs
  • unity3d第一人称射击游戏教程
  • dom操作元素属性
  • cocos2djs
  • 使用vue-cli快速搭建vue项目
  • javascript详解
  • 网管的功能
  • python开发技术详解
  • jquery img onload
  • javascript delete 使用示例代码
  • jquery中的选择器有哪些
  • 如何搭建应用服务器
  • 苏州昆山税务局电话号码
  • 湖南税务局发票查询
  • 香港企业查询系统
  • 福建省电子税务局操作指南
  • 运输装卸费属于增值税价外费用吗
  • 企业少缴社保怎么补偿
  • 合肥哪里可以注销电信卡
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设