函数式编程之一等公民的函数

     Js里面的函数是“一等公民” 和其他对象都一样,它可以拥有方法,作为参数传递,复制给变量...

     我们完全可以在写程序的时候避免不必要的包裹函数(让函数成为一等公民函数 有什么好处 下面会举例)

     var hi = function(name) {

     return "Hi" + name ;

     }     

     var greeting = function(name) {

     return hi(name)

     }

    像这样用一个函数把另一个函数包裹起来 仅仅是为了延迟执行,不是很好的习惯

    它和下面这句代码是等价的

    hi(name) ;

 

    why we recommend first class citizen functions?(这里突然想用英语装个逼)为什么我们要推荐一等公民函数,看下面这个例子

    httpGet('url', function(json){

    return renderPost(json)

    })

    如果httpGet要改成可以抛出error的异常 那个包裹外面的函数也是要改变的,继续下面这样

    httpGet('url',function(json,error){

    return renderPost(json,error)

    })

    这里我们写成一等公民函数会改动的很少

    httpGet('url',renderPost) 这里你想要多少参数都行 有点逻辑隔离的味道~

  

posted @ 2016-11-21 09:17  Mrzwq  阅读(331)  评论(0)    收藏  举报