002.ES2015和ES2016新特性--箭头函数.md
2024-08-30 18:59:39
1. ES2015中的箭头函数
JavaScript有一级函数的特性,也就是说,函数像其他值一样可以当成参数传来传去。
var result = [1,2,3].reduce(function(total, current){
return total + current;
}, 0) //6;
使用箭头函数改造一下:
var result = [1,2,3].reduce((totoal, current) => total + current, 0);
console.log(result);
再看几个例子:
var even = [3,1,16,17,29].filter(el => !(el % 2));
console.log(even);
var sorted = data.sort((a, b) => {
var diff = a.price - b.price;
if(diff != 0){
return diff;
}
return a.total - b.total;
})
1.1. 箭头函数的执行上下文
箭头函数有一个非常重要的特性,就是其执行上下文(也就是代码中的this)指向为外层代码,例如:
function MyComponent(){
this.age = 26;
setTimeout(() => {
this.age += 1;
console.log(this.age);
}, 100);
}
new MyComponent(); // 27 in 100ms.
在Angular2中这一特性非常有用,对于特定的Component来说,箭头函数所绑定的上下文就是Component的实例。如果我们把MyComponent定义为Angular2中的组件,就可以使用age属性用来进行数据绑定。
最新文章
- layer弹出层全屏及关闭
- 离线安装eclipse的svn插件
- Handlers
- 【MVC 4】5.SportsSore —— 一个真实的应用程序
- Magento架构师的笔记-----Magento显示当前目录的父分类和子分类的分类名
- char引发的血案
- QT最简单的程序执行过程分析(内含C++基础知识)
- 浅谈linux读写同步机制RCU
- Linux SDK之uClinux、Broadcom、Atheros、Realtek、Ralink、Marvell、Intel
- Android 服务_笔记
- 利用Selenium+PhantomJS 实现截图
- 安全检查,Windows更新出现8024402F错误如何解决
- 打印慢sql的日志
- 应用间共享文件 FileProvider
- (qsort)绝对值排序
- Spring 框架的历史
- 关于国密算法 SM1,SM2,SM3,SM4 的笔记
- 「每日一码」(精品代码,质量保证)empty和undefined
- Hive 打开调试模式
- C++:几种callable实现方式的性能对比