• 2023-06-28去往js函数式编程(8)完
    冻结  如果我们希望避免程序员意外或故意修改对象的可能性,冻结对象是一个有效的解决方案。在对象被冻结之后,任何修改它的尝试都会静默失败。javascript不会报告错误或抛出异常,但也不会修改对象。这种解决方案只有一个问题:冻结对象是一个浅层操作,它仅冻结属性本身,类似于const
  • 2023-06-19去往js函数式编程(7)
    管道和组合  管道和组合是一种技术,用于设置函数以便它们按顺序工作,使一个函数的输出称为下一个函数的输入。在linux中,执行一个命令并将其输出作为第二个命令的输入,而第二个命令的输出又成为第三个命令的输入,依此类推,这被称为管道。constmarkers=[{name:'AR',lat:-
  • 2023-06-01去往js函数式编程(5)
    日志记录  我们可以写一个高阶函数,它以两个函数作为参数,并允许第一个函数只能执行一次,从那一点开始调用第二个函数。constonceAndAfter=(f,g)=>{lettoCall=freturn(...args)=>{letresult=toCall(...args)toCall=greturnresult}}
  • 2023-05-30去往js函数式编程(3)
      我们将使用接下来的函数实现:让你更具有声明性,你会发现自己的关注点将转移到你需要什么,而不是如何做;繁琐的细节被隐藏在我们的函数内部。我们将不再编写一系列可能嵌套的for循环,而是专注于使用函数作为构建快来制定我们期望的结果。  使用reduce()操作可以得到单个值;使用