Advanced functions, or higher-order functions, have the following characteristics:
1. Parameters are functions
2. The return value is a function
As long as a function that satisfies one of the characteristics, it can be called a higher-order function;
https://www.cnblogs.com/laixiangran/p/5468567.html
http://blog.jobbole.com/77956/?utm_source=blog.jobbole.com&utm_medium=relatedPosts
http://www.haorooms.com/post/js_currying
https://www.jianshu.com/p/f88a5175e7a2