美文网首页好文一箩筐Web前端之路让前端飞
我眼中的js编程(4)--关于函数我想说的

我眼中的js编程(4)--关于函数我想说的

作者: 闫浩奇 | 来源:发表于2017-09-18 10:31 被阅读36次

一个函数作为另一个函数的参数进行传递,这种函数式编程的特点在js中有很多体现。下面是我用koa写服务器的一小段程序,可以看见函数作为参数传递在js中比比皆是。

const Koa = require('koa');
const app = new Koa();

//函数作为ues方法的参数传递
app.use(async (ctx,next) => {
  console.log(ctx.request.method,ctx.request.url)
});
//函数作为on方法的参数传递
app.on('error',error =>{
  console.log('server error',error)
});
//函数作为listen方法参数传递
app.listen('3030',() =>{
  console.log('server is starting-------------------')
});
module.exports = app;

函数可以看做机器或者黑箱,输入一些东西,在黑箱中进行一系列操作,输出一些东西。同一输入对应着唯一输出。

计算的本质为,一切皆函数(阿隆左 . 丘奇 lambda演算)。函数可以作为另外一个函数的输入或输出,一系列函数最终形成一个函数链,这个过程就是计算的本质。

高阶函数,"阶"就是抽象的层次。

一次抽象 对任意数组都能执行元素加一的操作

function map(arr){
  var newArr = []
  for(var i=0;i<arr.length;i++){
    newArr.push(arr[i]+=1)
  }
  return newArr
}
//调用
map([1,2,3])

二次抽象 对任意数组的元素可以执行任意的操作

function map(arr,fn){
  var newArr = []
  for(var i=0;i<arr.length;i++){
    newArr.push(fn(arr[i]))
  }
  return newArr
}
//调用
map([3,4,5],function(n){
  n = n * 2
})

函数的通用性越高,调用起来越麻烦。好比机器的功能越复杂,使用起来的配置就越麻烦一样。
每个函数只做一件简单的事情。
局部变量应该定义在靠近使用它的地方,提高可读性。

点击查看上一篇我眼中的js编程(3)
我眼中的js编程系列是我个人的学习总结,如有错误,烦请包涵、不吝赐教,O(∩_∩)O谢谢

相关文章

  • 我眼中的js编程(4)--关于函数我想说的

    把一个函数作为另一个函数的参数进行传递,这种函数式编程的特点在js中有很多体现。下面是我用koa写服务器的一小段程...

  • 关于编程,我想说......

    回头翻看简书上的日志,赫然发现,我已经两年多没有更新过文章了。其中最大的原因,我想还是窘迫的经济状况不再让我有闲情...

  • RYF javascript笔记3

    4. 面向对象编程 4.1面向对象编程概述 4.1.1简介 4.1.1.1构造函数 js没有“类”,而改用构造函数...

  • javascript 函数式编程

    1.函数式编程是什么 为什么要函数式编程 我眼中的 JavaScript 函数式编程 2.什么是函数组合 征服 J...

  • 函数式编程小思考4.2 笔记

    函数式编程小思考4 笔记JS函数式编程指南Data.Task 函子 源码 补充两个内容 用得到的curry函数 文...

  • 异步_ promise

    阮一峰 js的4种异步编程方法其他的一些异步编程方法 js 异步编程方法 一,回调函数 假定有两个函数f1和f2...

  • TypeScript之联合类型和交叉类型

    这就是关于类型的组合,对类型进行逻辑运算或者说是对类型进行函数式编程。JS编程是一种编程,在JS的类型上进行编程就...

  • 深入浅出Rxjs笔记 一

    一.函数式编程 函数式编程要求: 声明式 纯函数 数据不可变js 不算纯粹意义上的函数式编程语言,但是,在js中函...

  • 【JavaScript】技术参考资料

    JS基础、高级、进阶 MDN·JavaScript 函数式编程 阮一峰老师的入门简介: 函数式编程初探、函数式编程...

  • JavaScript中的函数式编程

    JS 函数式编程指南 什么是函数式编程 简单说,"函数式编程"是一种"编程模型"(programming para...

网友评论

    本文标题:我眼中的js编程(4)--关于函数我想说的

    本文链接:https://www.haomeiwen.com/subject/opcpsxtx.html