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
    
  • 相关阅读:
    keep-alive的深入理解与使用(配合router-view缓存整个路由页面)
    vue无法自动打开浏览器
    解决vue页面刷新或者后退参数丢失的问题
    vue 跳转并传参,实现数据实时更新
    Struts2 有关于无法正常的使用通配符
    有关于java反编译工具的使用
    Action名称的搜索顺序
    Struts2 的 值栈和ActionContext
    在Action 中访问web资源
    oracle 创建database Link
  • 原文地址:https://www.cnblogs.com/fangfeiyue/p/7459423.html
Copyright © 2011-2022 走看看