美文网首页
函数式编程

函数式编程

作者: 励志摆脱懒癌的少女酱 | 来源:发表于2019-11-04 16:18 被阅读0次

    1.概念:以函数为基础的编程方式和代码组织方式,即任何代码可以都是函数,且要求具有返回值;

    // 非函数式
    var title = "Functional Programming";
    var saying = "This is not";
    console.log(saying + title); // => This is not Functional Programming
    
    // 函数式
    var say = title => "This is " + title; 
    var text = say("Functional Programming"); // => This is Functional Programming
    

    2.基本条件 — 函数为一等公民
    (1)函数能被赋值给变量;
    (2)函数能被当作参数传入;
    (3)函数能被当作返回值;

    3.纯函数(pure function):只做运算并返回一个值,没有额外的行为;
    (1)引用透明(Referential transparency) — 函数内只会依赖 传入参数,即给予相同的参数,永远会返回相同的返回值;
    (2)没有副作用(No Side Effect) — 不会涉及到外部变量的使用和修改;

    var arr = [1, 2, 3, 4, 5];
    // 纯函数:slice()
    arr.slice(0, 3); // [1, 2, 3]
    arr.slice(0, 3); // [1, 2, 3]
    
    // 非纯函数:splice()
    arr.splice(0, 3); // [1, 2, 3]
    arr.splice(0, 3); // [4, 5]
    

    相关文章

      网友评论

          本文标题:函数式编程

          本文链接:https://www.haomeiwen.com/subject/gfldbctx.html