深入浅出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静态的动态
Sep 18 Javascript
简约JS日历控件 实例代码
Jul 12 Javascript
js获取select选中的option的text示例代码
Dec 19 Javascript
jquery scroll()区分横向纵向滚动条的方法
Apr 04 Javascript
JavaScript里实用的原生API汇总
May 14 Javascript
pc加载更多功能和移动端下拉刷新加载数据
Nov 07 Javascript
详解jquery easyui之datagrid使用参考
Dec 05 Javascript
详解webpack介绍&安装&常用命令
Jun 29 Javascript
微信小程序使用picker实现时间和日期选择框功能【附源码下载】
Dec 11 Javascript
JS实现字符串翻转的方法分析
Aug 31 Javascript
vue 页面回退mounted函数不执行的解决方案
Jul 26 Javascript
vue递归获取父元素的元素实例
Aug 07 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字符串分割函数explode的实例代码
2013/02/07 PHP
非常好用的Zend Framework分页类
2014/06/25 PHP
php使用GD实现颜色渐变实例
2015/06/02 PHP
PHP里的单例类写法实例
2015/06/25 PHP
PHP explode()函数用法讲解
2019/02/15 PHP
记录几个javascript有关的小细节
2007/04/02 Javascript
IE中createElement需要注意的一个问题
2010/07/13 Javascript
模拟jQuery ajax服务器端与客户端通信的代码
2011/03/28 Javascript
DOM 中的事件处理介绍
2012/01/18 Javascript
jQuery绑定事件的四种方式介绍
2016/10/31 Javascript
整理一下常见的IE错误
2016/11/18 Javascript
JavaScript日期对象(Date)基本用法示例
2017/01/18 Javascript
Vue如何引入远程JS文件
2017/04/20 Javascript
解决vue单页使用keep-alive页面返回不刷新的问题
2018/03/13 Javascript
react build 后打包发布总结
2018/08/24 Javascript
微信小程序template模板与component组件的区别和使用详解
2019/05/22 Javascript
laravel实现中文和英语互相切换的例子
2019/09/30 Javascript
js判断密码强度的方法
2020/03/18 Javascript
python根据开头和结尾字符串获取中间字符串的方法
2015/03/26 Python
python在回调函数中获取返回值的方法
2019/02/22 Python
python获取地震信息 微信实时推送
2019/06/18 Python
python增加图像对比度的方法
2019/07/12 Python
Python logging模块handlers用法详解
2020/08/14 Python
python-地图可视化组件folium的操作
2020/12/14 Python
HTML5为输入框添加语音输入功能的实现方法
2017/02/06 HTML / CSS
安踏官方商城:anta.cn
2019/12/16 全球购物
自荐信格式技巧有哪些呢
2013/11/19 职场文书
俞敏洪北大演讲稿
2014/05/22 职场文书
业绩倒数第一的检讨书
2014/09/24 职场文书
2015年全国爱眼日活动方案
2015/05/05 职场文书
初中家长意见
2015/06/03 职场文书
单位收入证明范本
2015/06/18 职场文书
运动会闭幕式通讯稿
2015/07/18 职场文书
护理培训心得体会
2016/01/22 职场文书
Mysql 8.x 创建用户以及授予权限的操作记录
2022/04/18 MySQL
详解Go语言中Get/Post请求测试
2022/06/01 Golang