发表于: 2020-01-08 23:01:22

0 1472


今日完成的事

柯理化函数

什么叫做柯理化函数,表面上看是一个大函数返回一个小函数,实际上的思想是预先性处理,比如想在某个事件行为或者多长时间以后执行的方法,这个方法想要改变他的this,预先传递一些参数,这种预先处理就叫做柯理化函数,柯理化函数解决的问题就是预先处理。

柯理化函数的思想:利用闭包的机制,把一些内容事先存储和处理,等到后期需要时来用

举一个例子。                                               有一个div标签。

然后把一个对象赋值给一个变量obj,在建立一个函数赋值给box

现在有一个需求是当点击box时这个绑定函数this指向obj,并且传一个实参200

利用柯理化函数的思想就是在fn这个函数外面用另一个匿名函数给他包住,然后改变他的this指向和传参,这就是柯理化函数,在执行放哪之前就根据需求对这个函数做一些改变。

最后写一个柯理化函数

也可以用重写bind的方法

单例模式

在没有框架的时候如果想要模块化,一般要把当前模块要写的方法利用闭包的原理

全部封装在一起, 这就是单例模式举个例子假如有两个模块oyot那么把这两个模块里面的方法全部用自执行函数封装到一起,然后return出来就可以了

 

这就是单例模式

 

Compose函数

什么叫做 compose函数,假如有3个函数fn1 fn2 fn3

现在有一个需求 fn1执行传一个5,然后把fn1的执行结果传给fn2,然后把fn2的执行结果传给fn3,现在写一个函数就可以实现这个效果,这就是Compose函数。

首先利用柯理化函数思想

然后判断传递进来的函数有几个吧没有传函数和传了1个函数的情况去掉

然后用数组的方法reduce



返回列表 返回列表
评论

    分享到