ES6中箭头函数的定义与调用方式详解


Posted in Javascript onJune 02, 2017

本文主要介绍的是关于ES6箭头函数的定义与调用方式的相关内容,分享出来供大家参考学习,下面来看看详细的介绍:

基本用法:

ES6中允许使用“箭头”(=>)定义函数

var f = v => v;

上面代码相当于:

var f = function( v ) { 
 return v; 
}

根据箭头函数有参数和无参数来区分

1、无参数的箭头函数

var f = () => 5;

等同于

var f = function() { return 5};

2、有参数的箭头函数

var sum = ( a, b) => a + b;

等同于

var sum = function( a, b) { 
 return a +b; 
}

有的函数体内的语句大于一条的话,它的写法如下使用一个大括号将其括起来,并使用return语句返回

var sum = (a, b) => { return a+b;}

由于大括号被解释为代码块,所以如果箭头函数直接返回一个对象时,必须在对象外面加一个大括号

var getFunction = id => ({id: id, anme: "Temp"});

箭头函数也可以与变量解构结合使用:

const full = ({first, last}) => first +" "+ last;

等同于

function full(person) { 
 return person.first +" "+ person.last; 
}

使用箭头函数可以让函数表达的更加简洁

箭头函数的一个用处是简化回调函数

[1,2,3].map(function(x){ 
 return x*x; 
});

使用箭头函数的写法

[1,2,3].map(x => x*x);

另一个例子

var result = values.sort(function(a, b){ 
 return a -b; 
});

箭头函数的写法

var result = values.sort((a, b) => a-b);

使用rest参数与箭头函数结合的例子

const numbers = (...nums) => nums; 
numbers(1,2,3,4,5,6,7,8,9); //[1,2,3,4,5,6,7,8,9] 
//...nums 表示的是一个数组 
const headAndTail = ( head, ...tail) => [head, tail]; 
headAndTail(1,2,3,4,5,6,7,8,9);// [1, [2,3,4,5,6,7,8,9]]

使用箭头函数注意几点:

1、函数体内的this对象就是定义时所在的对象,而不是使用时所在对象;

2、不可以当作构造函数使用,也就是不能用new命令实例化一个对象,否则会抛出一个错误;

3、不可以使用arguments对象,该对象在函数体内不存在,如果要用的话,可以用rest参数代替;

4、不可以使用yield命令,箭头函数不能用作Generator函数;

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
js读取被点击次数的简单实例(从数据库中读取)
Mar 07 Javascript
把Node.js程序加入服务实现随机启动
Jun 25 Javascript
Javascript中replace()小结
Sep 30 Javascript
详解JavaScript基于面向对象之继承
Dec 13 Javascript
分享自己用JS做的扫雷小游戏
Feb 17 Javascript
JavaScript代码生成PDF文件的方法
Feb 26 Javascript
微信小程序 Template详解及简单实例
Jan 05 Javascript
vue中的router-view组件的使用教程
Oct 23 Javascript
详解vue中移动端自适应方案
May 05 Javascript
微信小程序云开发 生成带参小程序码流程
May 18 Javascript
vue-autoui自匹配webapi的UI控件的实现
Mar 20 Javascript
JS中的变量作用域(console版)
Jul 18 Javascript
Js实现京东无延迟菜单效果实例(demo)
Jun 02 #Javascript
javascript实现延时显示提示框效果
Jun 01 #Javascript
详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
Jun 01 #jQuery
vue.js 获取当前自定义属性值
Jun 01 #Javascript
VUE使用vuex解决模块间传值问题的方法
Jun 01 #Javascript
vue快捷键与基础指令详解
Jun 01 #Javascript
详解vuejs几种不同组件(页面)间传值的方式
Jun 01 #Javascript
You might like
一步一步学习PHP(5) 类和对象
2010/02/16 PHP
Discuz Uchome ajaxpost小技巧
2011/01/04 PHP
解析php通过cookies获取远程网页的指定代码
2013/06/25 PHP
ThinkPHP独立分组使用的注意事项
2014/11/25 PHP
PHP stream_context_create()函数的使用示例
2015/05/12 PHP
yii2 RBAC使用DbManager实现后台权限判断的方法
2016/07/23 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
prototype 的说明 js类
2006/09/07 Javascript
用脚本调用样式的几种方法
2006/12/09 Javascript
使用jQuery+HttpHandler+xml模拟一个三级联动的例子
2011/08/09 Javascript
可简单避免的三个JS发布错误的详细介绍
2013/08/02 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(一)
2016/02/16 Javascript
解决微信二次分享不显示摘要和图片的问题
2017/08/18 Javascript
ECMAScript6变量的解构赋值实例详解
2017/09/19 Javascript
Vuex 在Vue 组件中获得Vuex 状态state的方法
2018/08/27 Javascript
Vue引入Stylus知识点总结
2020/01/16 Javascript
[50:12]EG vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Nginx搭建HTTPS服务器和强制使用HTTPS访问的方法
2015/08/16 Python
Python用sndhdr模块识别音频格式详解
2018/01/11 Python
python3基于TCP实现CS架构文件传输
2018/07/28 Python
python爬虫框架scrapy实现模拟登录操作示例
2018/08/02 Python
python matplotlib库的基本使用
2020/09/23 Python
python 如何调用 dubbo 接口
2020/09/24 Python
html5 canvas fillRect坐标和大小的问题解决方法
2014/03/26 HTML / CSS
Hawes & Curtis澳大利亚官网:英国经典服饰品牌
2018/10/29 全球购物
银行工作检查书范文
2014/01/31 职场文书
公司请假条范文
2014/04/11 职场文书
2014各大专业毕业生自我评价
2014/09/17 职场文书
2014社区健康教育工作总结
2014/12/16 职场文书
团组织推优材料
2014/12/29 职场文书
小学生思想品德评语
2014/12/31 职场文书
文明礼貌主题班会
2015/08/14 职场文书
创业计划书之DIY自助厨房
2019/09/06 职场文书
python - asyncio异步编程
2021/04/06 Python
SpringBoot 集成Redis 过程
2021/06/02 Redis
element tree树形组件回显数据问题解决
2022/08/14 Javascript