day19: High order function

相信写过 javaScript ES6 的大家一定使用过,high order function
譬如 map, reduce,接下来就来讲解 high order function 是什麽。

  1. high order function 定义一:function 可以当成参数传入另一个 function。
const a = (callback) => {
   callback();  
}
a(()=>{console.log('calback function')}); // calback function;
  1. high order function 定义二: function 可以被function return 出来。
const a = ()=>{
    return function(x){
        console.log('x',x);
    }
}
const xFunc = a();
xFunc(5);// x,5

High order function 的好处就是类似前天提到的 pure function 把他封装在某在 function 里。
去执行他特定功能,外层也不用知道里面怎麽做。如果你有个 function 是进来的数值统一加 2 ,
然後再带一个数值去乘以他,那就可以这样写。

const caculate = (x) =>{
    return (y)=>x*y;
}
const x = caculate(5);
const xy = x(4); // 20;

或是写成这样 const sum = caculate(5)(4);

这样是不是每一个 function 就可以专注他的参数,并把参数带给下一个 function 去做事。


<<:  Day 19 - 网页元素DOM - 表单元件的Event,表单的type 设定

>>:  [Day 23] 第二主餐 pt.2-aws,就是这麽简单

[Day 3] 阿嬷都看得懂的 HTML 在干嘛

阿嬷都看得懂的 HTML 在干嘛 If a picture paints a thousand wo...

[Day06] JavaScript - Hoisting 提升

在讲Hoisting之前,要先解释一下undefined 与 is not defined 的差异:...

[Day21] JavaScript - Event object (事件物件)

当任何的事件发生时,浏览器就会为这个事件创造一个物件,我们称为事件物件(Event object)...

Day 25 - 介绍 OSPF

今天我们来配 OSPF。 OSPF 是一种 IGP (Interior Gateway Protoc...

[Day-6] R语言 - 怎麽选 分群群数 & 距离? ( Clustering Distance & Index )

您的订阅是我制作影片的动力 订阅点这里~ 若内容有误,还请留言指正,谢谢您的指教 ...