深入浅出ES6新特性之函数默认参数和箭头函数


Posted in Javascript onAugust 01, 2016

1、函数参数的默认值

ES5中不能直接为函数的参数指定默认值,只能通过以下的变通方式:

深入浅出ES6新特性之函数默认参数和箭头函数

从上面的代码可以看出存在一个问题,当传入的参数为0或者false时,会直接取到后面的值,而不是传入的这个参数值。

那怎么解决呢?对于上图的代码,可以通过判断是否传入了num参数,没有就用默认值:

深入浅出ES6新特性之函数默认参数和箭头函数

这种做法还是很麻烦的,而ES6则直接在参数定义里面设置函数参数的默认值,而且不用担心传入参数是0或者false会出错了:

深入浅出ES6新特性之函数默认参数和箭头函数

2、箭头函数

箭头函数用 => 符号来定义。

箭头函数相当于匿名函数,所以采用函数表达式的写法。

左边是传入函数的参数,右边是函数中执行的语句。

深入浅出ES6新特性之函数默认参数和箭头函数

上面是完整的写法,左边小括号,右边大括号,而下面的情况可以简写:

(1)当要执行的代码块只有一条return语句时,可省略大括号和return关键字:

深入浅出ES6新特性之函数默认参数和箭头函数

箭头函数在回调函数中是很简洁的,像这样:

深入浅出ES6新特性之函数默认参数和箭头函数

需要注意的是, 箭头函数没有自己的this、arguments、super、new.target,它们分别指向外层函数的相应变量。

以前在ES5中使用this有点麻烦,这种问题很常见:

深入浅出ES6新特性之函数默认参数和箭头函数

但是现在有了箭头函数,不再需要使用that = this或 _this = this 这种代码啦,因为箭头函数中的this直接就是外层函数中的this,代码更简单了:

深入浅出ES6新特性之函数默认参数和箭头函数

以上所述是小编给大家介绍的A深入浅出ES6新特性之函数默认参数和箭头函数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript 解决表单仍然提交即使监听处理函数返回false
Mar 14 Javascript
jQuery.ajax 用户登录验证代码
Oct 29 Javascript
JavaScript设计模式之单件模式介绍
Dec 28 Javascript
js实现div层缓慢收缩与展开的方法
May 11 Javascript
深入浅析jQuery对象$.html
Aug 22 Javascript
JS自定义函数对web前端上传的文件进行类型大小判断
Oct 19 Javascript
js仿新浪微博消息发布功能
Feb 17 Javascript
angularjs2中父子组件的数据传递的实例代码
Jul 05 Javascript
js如何编写简单的ajax方法库
Aug 02 Javascript
vue axios登录请求拦截器
Apr 02 Javascript
JSON基本语法及与JavaScript的异同实例分析
Jan 04 Javascript
详解webpack-dev-middleware 源码解读
Mar 23 Javascript
AngularJS基础 ng-class-odd 指令示例
Aug 01 #Javascript
js添加千分位的实现代码(超简单)
Aug 01 #Javascript
AngularJs定制样式插入到ueditor中的问题小结
Aug 01 #Javascript
jQuery的ajax和遍历数组json实例代码
Aug 01 #Javascript
JS遍历页面所有对象属性及实现方法
Aug 01 #Javascript
AngularJS 基础ng-class-even指令用法
Aug 01 #Javascript
jQuery EasyUI API 中文帮助文档和扩展实例
Aug 01 #Javascript
You might like
PHP输出控制功能在简繁体转换中的应用
2006/10/09 PHP
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
2012/07/31 PHP
php实现微信扫码自动登陆与注册功能
2016/09/22 PHP
浅谈php://filter的妙用
2019/03/05 PHP
Add Formatted Data to a Spreadsheet
2007/06/12 Javascript
js弹窗代码 可以指定弹出间隔
2010/07/03 Javascript
jquery 图片上传按比例预览插件集合
2011/05/28 Javascript
jquery聚焦文本框与扩展文本框聚焦方法
2012/10/12 Javascript
使用jQuery获取data-的自定义属性
2015/11/10 Javascript
javascript实现随机显示星星特效
2016/01/28 Javascript
Javascript的比较汇总
2016/07/25 Javascript
详解JavaScript事件循环机制
2018/09/07 Javascript
Bootstrap4 gulp 配置详解
2019/01/06 Javascript
JS 数组基本用法入门示例解析
2020/01/16 Javascript
vue中实现回车键登录功能
2020/02/19 Javascript
vue使用微信扫一扫功能的实现代码
2020/04/11 Javascript
Vue-router编程式导航的两种实现代码
2021/03/04 Vue.js
python批量修改文件名的实现代码
2014/09/01 Python
Python实现删除列表中满足一定条件的元素示例
2017/06/12 Python
Python 装饰器实现DRY(不重复代码)原则
2018/03/05 Python
python 删除字符串中连续多个空格并保留一个的方法
2018/12/22 Python
Python实现K折交叉验证法的方法步骤
2019/07/11 Python
python mysql断开重连的实现方法
2019/07/26 Python
Python FTP文件定时自动下载实现过程解析
2019/11/12 Python
英国最大的手表网站:The Watch Hut
2017/03/31 全球购物
加拿大租车网站:Enterprise Rent-A-Car
2018/07/26 全球购物
Stührling手表官方网站:男女高品质时尚手表的领先零售商
2021/01/07 全球购物
M.M.LaFleur官网:美国职业女装品牌
2020/10/27 全球购物
写给女生的道歉信
2014/01/08 职场文书
物理教学随笔感言
2014/02/22 职场文书
新年抽奖获奖感言
2014/03/02 职场文书
2014幼儿园教师师德师风演讲稿
2014/09/10 职场文书
民警个人对照检查剖析材料
2014/09/17 职场文书
歌舞青春观后感
2015/06/10 职场文书
元旦联欢晚会主持词
2015/07/01 职场文书
导游词之江苏同里古镇
2019/11/18 职场文书