深入浅出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 相关文章推荐
jQuery Dialog 弹出层对话框插件
Aug 09 Javascript
Extjs4 消息框去掉关闭按钮(类似Ext.Msg.alert)
Apr 02 Javascript
对于this和$(this)的个人理解
Sep 08 Javascript
JavaScript按位运算符的应用简析
Feb 04 Javascript
JS传值出现中文参数乱码的解决方法
Jun 30 Javascript
Node.js的基本知识简单汇总
Sep 19 Javascript
javascript实现的左右无缝滚动效果
Sep 19 Javascript
vue实现表格数据的增删改查
Jul 10 Javascript
浅谈FastClick 填坑及源码解析
Mar 02 Javascript
使用react实现手机号的数据同步显示功能的示例代码
Apr 03 Javascript
vue+springboot图片上传和显示的示例代码
Feb 14 Javascript
Vue.js中Line第三方登录api的实现代码
Jun 29 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分页详细讲解(有实例)
2013/10/30 PHP
destoon在各个服务器下设置URL Rewrite(伪静态)的方法
2014/06/21 Servers
PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径
2014/06/30 PHP
php curl请求信息和返回信息设置代码实例
2015/04/27 PHP
十大使用PHP框架的理由
2015/09/26 PHP
JavaScript中使用replace结合正则实现replaceAll的效果
2010/06/04 Javascript
JS控件的生命周期介绍
2012/10/22 Javascript
JavaScript实现自己的DOM选择器原理及代码
2013/03/04 Javascript
js用闭包遍历树状数组的方法
2014/03/19 Javascript
Javascript实现禁止输入中文或英文的例子
2014/12/09 Javascript
js实现有时间限制消失的图片方法
2015/02/27 Javascript
Grunt入门教程(自动任务运行器)
2015/08/06 Javascript
jQuery实现的淡入淡出二级菜单效果代码
2015/09/15 Javascript
第五章之BootStrap 栅格系统
2016/04/25 Javascript
jQuery源码分析之init的详细介绍
2017/02/13 Javascript
layui中layer前端组件实现图片显示功能的方法分析
2017/10/13 Javascript
ES6使用Set数据结构实现数组的交集、并集、差集功能示例
2017/10/31 Javascript
jQuery实现左右两个列表框的内容相互移动功能示例
2019/01/27 jQuery
Javascript之高级数组API的使用实例
2019/03/08 Javascript
Vue动态创建注册component的实例代码
2019/06/14 Javascript
layui实现数据表格table分页功能(ajax异步)
2019/07/27 Javascript
vue跳转页面的几种方法(推荐)
2020/03/26 Javascript
js面向对象封装级联下拉菜单列表的实现步骤
2021/02/08 Javascript
[04:32]玩具屠夫中文语音节选
2020/08/23 DOTA
Python类定义和类继承详解
2015/05/08 Python
tensorflow学习笔记之mnist的卷积神经网络实例
2018/04/15 Python
python 实现识别图片上的数字
2019/07/30 Python
在python Numpy中求向量和矩阵的范数实例
2019/08/26 Python
python 多进程队列数据处理详解
2019/12/23 Python
Django 限制访问频率的思路详解
2019/12/24 Python
M1芯片安装python3.9.1的实现
2021/02/02 Python
加拿大廉价机票预订网站:CheapOair.ca
2018/03/04 全球购物
党的群众路线教育实践活动心得体会范文
2014/11/05 职场文书
陈斌强事迹观后感
2015/06/17 职场文书
2015年成本会计工作总结
2015/10/14 职场文书
MySQL分布式恢复进阶
2022/07/23 MySQL