函数的理解

  • 函数可以提升代码三性
    • 复用性
    • 扩展性
    • 维护性
  • 函数可以隔离变量作用域
  • 函数可以控制代码的执行,不调用不执行
  • 函数的封装没有绝对的对错,取决于写代码时的心情和对业务的理解 (一件事就是一个函数)
  • 所有函数无论调用还是执行都需要搞清楚其中的三要素(意义,参数,返回值)

    形参、实参与返回值的理解

  • 完成一件事的条件就是参数,参数分为形参和实参

  • 形参是抽象的,实参是具体的
  • 参数为了解耦,一个函数中有多种情况,多种情况的不同点就是参数
  • 实参就是形参的值(通过实参传递变量的值,形参声明变量)
  • 封装函数的时候的参数宁多不少,可提升复用性,多的参数可设为可选参数
  • 返回值就是一个函数的执行结果
  • 如果需要将内部变量传递到外部,那就设置成该函数的返回值,那么就可以用一个变量接受该返回值,从而得到该变量的值

    回调

    封装过滤数组函数
    查阅数组中的reduce函数 every函数

  • Array.reduce

    • 意义: 对数组中的每个元素执行一个我设置的reducer函数(索引升序执行), 将结果累计返回
    • 参数:
      • callback:执行数组中每一个值得函数
        • accumulator:累计值: 累计回调的返回值
        • currentValue: 数组中正在处理的元素
        • index:可选 数组中正在处理的当前元素的索引
        • array:可选 调用reduce()的数组
      • initialValue:累计器的初始值
    • 返回值:
  • Array.every
    • 意义: 测试一个数组内的所有元素是否都能通过某个指定函数的测试
    • 参数:
      • callback 用于测试每一个元素的函数
        • element 测试的当前值
        • index 可选 测试的当前值的索引
        • array 可选 要测试的数组
    • 返回值:布尔值

      闭包

递归

连贯操作

函数的自执行