那十几万分之一

导航

面试题之柯里化函数

经典面试题

实现一个add 函数: add(1)(2)(3) = 6

看起来很简单的样子,目测应该是一个函数中返回一个函数,那么手动实现下呢

 

 

虽然log最后结果是6,但是其实sum函数并没有返回6,而是每次都返回了自己,那么这里就需要想一想如何让sum最后返回6呢?

这里面需要用到

Function.prototype.toString()

函数每次返回并调用自己的时候会隐式调用toString这个方法

那么修改后是这个样子的

 

这里需要注意下的就是如果修改原型的toString()方法,就需要使用alert。不过还有一个问题就是这个函数是每次传一个参数,如果是多个参数呢,比如add(1,2,3)(4),这就需要考虑不定参了

 

 实际上这个题就是经典面试中的柯里化函数,这个函数使得函数的使用更加灵活,低耦合....,当然柯里化函数不是简单的用来算和的,在实际工作中遇到了可以详细的再捣鼓捣鼓

 

 

 

posted on   那十几万分之一  阅读(240)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
点击右上角即可分享
微信分享提示