zoukankan      html  css  js  c++  java
  • 零散知识点-类的区别;函数式编程的简单总结;

    .class1.class2和.class1 .class2和.class1, .class2的区别

    .class1.class2(中间没有空格)匹配的是同时拥有class1和class2的元素;

    .class1 .class2 匹配的是父节点有.class1,子节点有.class2的元素;

    .class1, .class2 (中间逗号分隔) 设置class1,class2拥有相同的样式;

    函数式编程的简单理解(详见阮一峰

    • 函数式编程要求函数必须是纯的,不能有副作用。原因是函数式编程的起源是一门叫做范畴轮的数学分支。所以本质上,函数式编程只是范畴论的运算方法,跟数理逻辑、微积分、行列式是同一类东西,都是数学方法,只是碰巧它能用来写程序。它是一种数学运算,原始目的就是求值,不做其他事情,否则就无法满足函数运算法则了。

    • 函数式编程有两个最基本的运算:合成和柯里化。

      • 合成
        如果一个值要经过多个函数,才能变成另外一个值,就可以把所有中间步骤合并成一个函数,这叫做"函数的合成";
    const compose = function (f, g) {
      return function (x) {
        return f(g(x));
      };
    }
    
    - 柯里化
    f(x)和g(x)合成为f(g(x)),有一个隐藏的前提,就是f和g都只能接受一个参数。如果可以接受多个参数,比如f(x, y)和g(a, b, c),函数合成就非常麻烦。这时就需要函数柯里化了。所谓"柯里化",就是把一个多参数的函数,转化为单参数函数。
    
    // 柯里化前
    function add(x, y){
        return x + y;
    }
    console.log(add(1, 2));//3
    // 柯里化后
    function addX(y){
       return function(x){
         return x + y;
      };
    }
    console.log(addX(2)(1));//3
    
  • 相关阅读:
    软件开发模版与规范 & 项目组规范
    CSS代码结构初探
    DIV+CSS 一行两列布局
    AE 9.3代码 升级到AE10.0
    栅格相减 异常
    鹰眼视图异常
    十进制度批量转换度分秒
    javascript是一朵奇葩
    pku 1065 pku 1548
    hdu 1254 推箱子
  • 原文地址:https://www.cnblogs.com/fangfeiyue/p/7459423.html
Copyright © 2011-2022 走看看