首页 > 解决方案 > 编写一个可以调用为 ('say')('hi')() 的函数

问题描述

编写一个可以作为函数调用的函数,该函数返回一个函数,直到没有参数存在,然后它返回一个字符串。

console.log(say('my')('name')('is')('bob')()); => 'my name is bob.'
console.log(say('hello')('world')()); => 'hello world.'

标签: javascript

解决方案


您可以使用返回匿名函数的函数。这个匿名函数递归调用原始函数来构建字符串并在没有提供参数时返回它。

function say (value){     
    return function (str){
      return str === undefined ? (value + ".") : say(value + " " + str);
  }	
}

console.log(say('my')('name')('is')('bob')());
console.log(say('hello')('world')());


推荐阅读