柯里化(Currying)面试题及详细答案.docxVIP

  • 1
  • 0
  • 约5.95千字
  • 约 7页
  • 2026-05-10 发布于河北
  • 举报

柯里化(Currying)面试题及详细答案.docx

柯里化(Currying)面试题及详细答案

一、基础必考题(入门级,考察概念理解)

1.请用自己的话解释什么是柯里化?它的核心作用是什么?

参考答案:

柯里化简单说,就是把一个接收多个参数的函数,转化成一系列只接收一个参数(或部分参数)的函数,并且这些函数依次调用后,最终能返回原函数的结果。

核心作用有两个:一是参数复用,把频繁使用的固定参数提前“固化”,后续调用无需重复传入;二是延迟执行,可以分步骤传递参数,直到传入所有必要参数后,才执行最终计算。

举个最直观的例子:原本要写add(1,2,3),柯里化后可以写成add(1)(2)(3),也可以写成add(1,2)(3),灵活传递参数。

2.柯里化和普通函数、偏函数的区别是什么?(高频易混题)

参考答案:

三者核心区别在于“参数传递方式”和“执行时机”,用通俗的话区分:

普通函数:一次性传入所有所需参数,传入后立即执行,无法分步骤传递。比如functionadd(a,b,c){returna+b+c;},调用时必须add(1,2,3)。

柯里化函数:接收部分参数(通常是1个),返回一个新函数,继续接收下一个参数,直到所有参数传完才执行,强调“分步传递、延迟执行”,且每一步都可以复用中间结果。

偏函数:固定函数的部分参数,返回一个接收剩余参数的新函数,不强调“分步传递1个参数”,可以一次性固定多个参数,剩下的参数一次

文档评论(0)

1亿VIP精品文档

相关文档