首页 > 解决方案 > 如何在 Javascript 中实现这种链接?

问题描述

f()()('x') // foox

f()()()()('x') //foooox

我试图返回嵌套函数但无法获得所需的结果。

标签: javascriptfunction

解决方案


您可以创建一个函数,该函数根据传递的参数返回函数或结果,假设只有最后一次调用传递了一个参数。

function f() {
  let os = ''

  return function again(x) {
    os += 'o'
    if (!x) return again;
    else return `f${os}${x}`;
  }
}


console.log(f()()('x'))
console.log(f()()()()('x'))
console.log(f()()()()()()('Y'))


推荐阅读