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属性用来进行数据绑定。

最新文章

  1. layer弹出层全屏及关闭
  2. 离线安装eclipse的svn插件
  3. Handlers
  4. 【MVC 4】5.SportsSore —— 一个真实的应用程序
  5. Magento架构师的笔记-----Magento显示当前目录的父分类和子分类的分类名
  6. char引发的血案
  7. QT最简单的程序执行过程分析(内含C++基础知识)
  8. 浅谈linux读写同步机制RCU
  9. Linux SDK之uClinux、Broadcom、Atheros、Realtek、Ralink、Marvell、Intel
  10. Android 服务_笔记
  11. 利用Selenium+PhantomJS 实现截图
  12. 安全检查,Windows更新出现8024402F错误如何解决
  13. 打印慢sql的日志
  14. 应用间共享文件 FileProvider
  15. (qsort)绝对值排序
  16. Spring 框架的历史
  17. 关于国密算法 SM1,SM2,SM3,SM4 的笔记
  18. 「每日一码」(精品代码,质量保证)empty和undefined
  19. Hive 打开调试模式
  20. C++:几种callable实现方式的性能对比

热门文章

  1. Sping框架中的注解详解
  2. ubuntu修改顶栏颜色
  3. QT笔记 -- (1) .ui文件
  4. error C2504: 未定义基类
  5. Maven介绍_转载
  6. 前端学习之路——gulp篇
  7. html转word文档
  8. luogu P3795 钟氏映射(递推)
  9. 总结使人进步,可视化界面GUI应用开发总结:Android、iOS、Web、Swing、Windows开发等
  10. Camera Calibration 相机标定:原理简介(一)