问题:
不保证问题描述的绝对准确,但关键词就这些~
还有一个问题
![]() | 1 jandou OP 没人回复,被降权了么... |
![]() | 2 wangdada 2019-05-23 15:03:55 +08:00 虽然不难,但我也答不起来 |
3 q8164305 2019-05-23 15:15:31 +08:00 via Android 准备过的话不难吧,前端面试最难的是,你永远不知道面试会问啥 |
![]() | 4 murmur 2019-05-23 15:16:22 +08:00 柯里化是什么,这东西不纯粹是为了面试而生的,刚看了一个网站这东西实现猥琐性能不行,那要他干嘛 |
![]() | 5 jin5354 2019-05-23 17:10:50 +08:00 都能答上来,刚换了工作 |
![]() | 6 KuroNekoFan 2019-05-23 18:10:53 +08:00 via iPhone 不问一下 react 的 diff 和 patch 细节吗!!虽然我很讨厌这种问题但是架不住面试真的就喜欢问,敢情 reactjs.org 的 advance 里面那么多内容,偏偏就挑这个点。 |
![]() | 7 oxyFired 2019-05-24 09:24:21 +08:00 第七个问题怎么回答的,摸不到头脑 |
8 xichengh 2019-05-24 09:57:46 +08:00 脉脉发了? |
![]() | 9 qq1009479218 2019-05-24 10:49:56 +08:00 ![]() @murmur 柯里化在函数式编程里应用非常常见的,我们现在处理数据都用函数式处理,处理逻辑切分成各个小函数,然后上游函数返回值作为下游函数的参数,利用柯里化实现一个 context,开发体验上还是很好的,至于性能,函数式确实会稍微差一点,但是对于目前的我们来说,瓶颈不在这里。 |
![]() | 10 murmur 2019-05-24 10:54:47 +08:00 @qq1009479218 明明有了语法更好理解的 bind 为什么还要用柯里化这种 es3 的东西呢? |
![]() | 11 qq1009479218 2019-05-24 11:01:13 +08:00 @murmur 我说的 context 可能和你说的 context 有点出入,我说的这个 context 类似 koa 的 ctx。而且感觉柯里化是函数式编程的概念 |
![]() | 12 murmur 2019-05-24 11:06:16 +08:00 |
![]() | 13 qq1009479218 2019-05-24 13:44:10 +08:00 @murmur 其实我们用的 rxjs,举个简单的例子,const add = (a: number) => (b: number) => a + b; 这个参数 a,我们把它设计成了 ctx,b 参数就是上游函数的返回值,通过函数式编程中的 pipe(或者 compose)概念,可以很轻易的实现逻辑解耦 |