深入浅出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 相关文章推荐
Use Word to Search for Files
Jun 15 Javascript
Grid得到选择行数据的方法总结
Jan 17 Javascript
jQuery选择器全集详解
Nov 24 Javascript
JavaScript实现图片DIV竖向滑动的方法
Apr 25 Javascript
JavaScript计划任务后台运行的方法
Dec 18 Javascript
微信小程序-横向滑动scroll-view隐藏滚动条
Apr 20 Javascript
vue的toast弹窗组件实例详解
May 14 Javascript
对vue v-if v-else-if v-else 的简单使用详解
Sep 29 Javascript
React Native中Mobx的使用方法详解
Dec 04 Javascript
微信小程序实现卡片左右滑动效果的示例代码
May 01 Javascript
ES6中定义类和对象的方法示例
Jul 31 Javascript
vue+elementui通用弹窗的实现(新增+编辑)
Jan 07 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 5.0对象模型深度探索之属性和方法
2008/03/27 PHP
PHP原生模板引擎 最简单的模板引擎
2012/04/25 PHP
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
2013/04/25 PHP
百度ping方法使用示例 自动ping百度
2014/01/26 PHP
php恢复数组的key为数字序列的方法
2015/04/28 PHP
微信开发之php表单微信中自动提交两次问题解决办法
2017/01/08 PHP
jquery模拟按下回车实现代码
2011/09/20 Javascript
JQuery入门——用bind方法绑定事件处理函数应用介绍
2013/02/05 Javascript
基于jquery编写的横向自适应幻灯片切换特效的实例代码
2013/08/06 Javascript
关于删除时的提示处理(确定删除吗)
2013/11/03 Javascript
jQuery简单实现banner图片切换
2014/01/02 Javascript
jquery toolbar与网页浮动工具条具体实现代码
2014/01/12 Javascript
禁用Enter键表单自动提交实现代码
2014/05/22 Javascript
JS提交form表单实例分析
2015/12/10 Javascript
浅谈angularJS中的事件
2016/07/12 Javascript
基于javascript 显式转换与隐式转换(详解)
2017/12/15 Javascript
JS实现的3des+base64加密解密算法完整示例
2018/05/18 Javascript
webpack4+express+mongodb+vue实现增删改查的示例
2018/11/08 Javascript
jquery.pager.js分页实现详解
2019/07/29 jQuery
python基础教程之基本内置数据类型介绍
2014/02/20 Python
解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享
2014/06/18 Python
Python创建xml的方法
2015/03/10 Python
使用Python编写爬虫的基本模块及框架使用指南
2016/01/20 Python
解决python3爬虫无法显示中文的问题
2018/04/12 Python
Python脚本修改阿里云的访问控制列表的方法
2019/03/08 Python
对Python强大的可变参数传递机制详解
2019/06/13 Python
python的debug实用工具 pdb详解
2019/07/12 Python
Tkinter中复选菜单是否被选中的判断与设置方式
2020/03/04 Python
django 解决自定义序列化返回处理数据为null的问题
2020/05/20 Python
英国比较机场停车场网站:Airport Parking Essentials
2019/12/01 全球购物
工程造价自荐信
2013/10/09 职场文书
汽车制造与装配专业自荐信范文
2014/01/02 职场文书
大学新生欢迎词
2014/01/10 职场文书
实习单位评语
2014/04/26 职场文书
golang中实现给gif、png、jpeg图片添加文字水印
2021/04/26 Golang
vue里使用create, mounted调用方法
2022/04/26 Vue.js