JS函数式编程--函数组合应用

函数组合应用:由若干个纯函数、偏函数、柯里化函数组合成一个新的函数,同时,形成数据传递。 挑选了一系列所需要的函数,把他们组合在一起,可以实现公共合作的效果。 先来,直观感受一下函数组合: function compose(f, g){ return function(x){ ...

2018-04-16 16:55:25

阅读数 162

评论数 0

JS函数式编程之--函数记忆

处理一件事物,有些是过程中已经运算好的,可以将它们存储起来,以便于之后的直接使用。 相信大家都知道阶乘: n! = n*(n-1)! n! = n*(n-1)*(n-2)! ... n! = n*(n-1)*(n-2)*...*1; 阶乘封装成函数: function factoria...

2018-04-16 15:03:38

阅读数 126

评论数 0

JS函数式编程--纯函数(预防bug利器)

在数学中,函数的概念就是,对于输入 x 产生一个输出 y=f(x) 。纯函数的定义:对于相同的输入,永远会得到相同的输出,而且没有任何可观察的副作用,也不依赖外部环境的状态。(纯函数是指不依赖、不修改其作用域之外变量的函数)。eg1:反例var num = 18; function compare...

2018-04-16 14:05:10

阅读数 50

评论数 0

JS高阶--惰性函数

JS惰性函数,是针对优化频繁使用的函数。常用于函数库的编写、单例模式之中。首先,写一个test函数,返回首次调用该函数的时间(使用new Date().getTime()),注意,返回首次调用时间。不好的写法:var t = null; function test () { if(t...

2018-04-16 10:58:21

阅读数 350

评论数 0

JS高阶--javascript数组扁平化

js扁平化分类:对象扁平化(深度很深的对象,经过扁平化编程深度为 1 的对象)、数组扁平化(降维过程,多维数组经过扁平化变成一维数组)。var arr = ['djl', 1,2,[[3,[4,[5,6,{}]]]],null,{},[[[[7]]], null],{}]; //扁平化之后 //r...

2018-04-15 22:58:42

阅读数 188

评论数 0

JS函数式编程--柯里化

定义:在数学和计算机科学中,柯里化是一种将使用多个参数的一个函数转换成一系列使用一个参数的函数的技术。作用:前端使用柯里化的用途主要就是简化代码结构,提高系统的维护性,一个方法,只有一个参数,强制了功能的单一性,很自然就做到了功能内聚,降低耦合。优点:降低代码的重复,提高代码的适用性。调用形式:f...

2018-04-15 21:42:27

阅读数 174

评论数 0

深入js运行机制之--setTimeout/setInterval【深度理解】

    js是单线程机制。异步操作,如ajax请求、setTimeout/setInterval、js事件等,会等到同步程序执行之后,将异步操作放入任务队列中。    今天我们来看setTimeout/setInterval。    setTimeout的等待时间结束后,并不是直接执行的,而是推入...

2018-04-13 21:28:50

阅读数 165

评论数 0

js实现之--防抖节流【理解+代码】

    在前端开发中,有一部分用户行为会频繁的触发事件,而对于DOM操作,资源加载等耗费性能的处理,很可能会导致卡顿,甚至浏览器的崩溃。防抖和节流就是为了解决这一类的问题。防抖:    理解:在车站上车,人员上满了车才发走重点是人员上满触发一次。    场景:实时搜索,拖拽。    实现:    ...

2018-04-13 10:55:37

阅读数 2082

评论数 0

提示
确定要删除当前文章?
取消 删除