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
    
  • 相关阅读:
    Docker(12)- docker run 命令详解
    adb 常用命令大全(7)- 其他实用功能
    adb 常用命令大全(6)- 模拟按键输入
    adb 常用命令大全(5)- 日志相关
    adb 常用命令大全(4)- 应用管理
    adb 常用命令大全(3)- 查看手机设备信息
    adb 常用命令大全(2)- 基础命令
    adb 常用命令大全(1)- 汇总
    Docker
    Docker(11)- docker ps 命令详解
  • 原文地址:https://www.cnblogs.com/fangfeiyue/p/7459423.html
Copyright © 2011-2022 走看看