underscore之Chaining_动力节点Java学院整理
2017-07-10 10:10
671 查看
还记得jQuery支持链式调用吗?
$('a').attr('target', '_blank') .append(' <i class="uk-icon-external-link"></i>') .click(function () {});
如果我们有一组操作,用underscore提供的函数,写出来像这样:
_.filter(_.map([1, 4, 9, 16, 25], Math.sqrt), x => x % 2 === 1); // [1, 3, 5]
能不能写成链式调用?
能!
underscore提供了把对象包装成能进行链式调用的方法,就是chain()函数:
_.chain([1, 4, 9, 16, 25]) .map(Math.sqrt) .filter(x => x % 2 === 1) .value(); // [1, 3, 5]
因为每一步返回的都是包装对象,所以最后一步的结果需要调用value()获得最终结果。
小结
通过学习underscore,是不是对JavaScript的函数式编程又有了进一步的认识?
您可能感兴趣的文章:
相关文章推荐
- underscore之function_动力节点Java学院整理
- Underscore之Array_动力节点Java学院整理
- underscore之Collections_动力节点Java学院整理
- Java中的Web MVC简介_动力节点Java学院整理
- Java中Object toString方法简介_动力节点Java学院整理
- Java 中的HashMap详解和使用示例_动力节点Java学院整理
- 序列化版本号serialVersionUID的作用_动力节点Java学院整理
- 简述Java中进程与线程的关系_动力节点Java学院整理
- Java 可视化垃圾回收_动力节点Java学院整理
- Java中实现线程的三种方式及对比_动力节点Java学院整理
- Java String类详解_动力节点Java学院整理
- Java线程同步机制_动力节点Java学院整理
- Java7之forkjoin简介_动力节点Java学院整理
- Java死锁_动力节点Java学院整理
- Java8新特性之再见Permgen_动力节点Java学院整理
- Java concurrency之LockSupport_动力节点Java学院整理
- Java concurrency线程池之线程池原理(二)_动力节点Java学院整理
- Java class文件格式之访问标志信息_动力节点Java学院整理
- Java异常的几个谜题_动力节点Java学院整理
- JavaScript标准对象_动力节点Java学院整理