深入浅出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 24 Javascript
浅析JavaScript动画
Jun 10 Javascript
基于Bootstrap重置输入框内容按钮插件
May 12 Javascript
jQuery获取当前点击的对象元素(实现代码)
May 19 Javascript
javascript类型系统_正则表达式RegExp类型详解
Jun 24 Javascript
Three.js快速入门教程
Sep 09 Javascript
AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法
Dec 14 Javascript
jQuery validata插件实现方法
Jun 25 jQuery
JQuery 选择器、DOM节点操作练习实例
Sep 28 jQuery
vue axios 简单封装以及思考
Oct 09 Javascript
微信小程序 select 下拉框组件功能
Sep 09 Javascript
vue实现广告栏上下滚动效果
Nov 26 Vue.js
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安装xdebug/php安装pear/phpunit详解步骤(图)
2013/12/22 PHP
php判断字符串在另一个字符串位置的方法
2014/02/27 PHP
Linux服务器下PHPMailer发送邮件失败的问题解决
2017/03/04 PHP
php 数据结构之链表队列
2017/10/17 PHP
使用git迁移Laravel项目至新开发环境的步骤详解
2020/04/06 PHP
js获取会话框prompt的返回值的方法
2015/01/10 Javascript
Node.js中Request模块处理HTTP协议请求的基本使用教程
2016/03/31 Javascript
jQuery实现下拉菜单(内容为时间)的实时更新及图表的随动更新的方法
2016/07/07 Javascript
浅谈js script标签中的预解析
2016/12/30 Javascript
jQuery中Datatables增加跳转到指定页功能
2017/02/08 Javascript
解析Vue2 dist 目录下各个文件的区别
2017/11/22 Javascript
webpack+vue+express(hot)热启动调试简单配置方法
2018/09/19 Javascript
vue 地图可视化 maptalks 篇实例代码详解
2019/05/21 Javascript
vue中v-show和v-if的异同及v-show用法
2019/06/06 Javascript
python使用sorted函数对列表进行排序的方法
2015/04/04 Python
Python类属性与实例属性用法分析
2015/05/09 Python
使用Python绘制图表大全总结
2017/02/11 Python
python 输入一个数n,求n个数求乘或求和的实例
2018/11/13 Python
详解Python二维数组与三维数组切片的方法
2019/07/18 Python
Python实现的微信红包提醒功能示例
2019/08/22 Python
Python 中由 yield 实现异步操作
2020/05/04 Python
python的json包位置及用法总结
2020/06/21 Python
Python和Bash结合在一起的方法
2020/11/13 Python
美国最大的家庭鞋类零售商之一:Shoe Carnival
2017/10/06 全球购物
耐克中国官方商城:Nike中国
2018/10/18 全球购物
法雷奥SQA(electric)面试问题
2016/01/23 面试题
大专计算机个人求职的自我评价
2013/10/21 职场文书
学前教育毕业生自荐信
2013/10/29 职场文书
电脑专业个人求职信范文
2014/02/04 职场文书
感恩母亲节演讲稿
2014/05/07 职场文书
甲乙双方合作协议书
2014/10/13 职场文书
班主任寄语2015
2015/02/26 职场文书
化工生产实习心得体会
2016/01/22 职场文书
忠诚教育学习心得体会
2016/01/23 职场文书
优秀党员先进事迹材料2016
2016/02/29 职场文书
Python 高级库15 个让新手爱不释手(推荐)
2021/05/15 Python