javascript - 编写一个可以调用为 ('say')('hi')() 的函数
问题描述
编写一个可以作为函数调用的函数,该函数返回一个函数,直到没有参数存在,然后它返回一个字符串。
console.log(say('my')('name')('is')('bob')()); => 'my name is bob.'
console.log(say('hello')('world')()); => 'hello world.'
解决方案
您可以使用返回匿名函数的函数。这个匿名函数递归调用原始函数来构建字符串并在没有提供参数时返回它。
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')());
推荐阅读
- android - 为什么错误出现在构建中
com.android.build.gradle.tasks.ResourceException: D:\AsmitSharma\Lo
- dart - 在 _MaterialAppState 中找不到路由“主页”的生成器
- marklogic - cts:uri-match 选择特定格式
- php - 使用最新的 Laravel 版本
- scala - CustomMessage 标记内容未在 IntelliJ 中显示
- autocomplete - Flutter TextFormField onChanged 事件
- regex - 如何在正则表达式中输出模式的重复次数?
- java - 检查java中数组数组中元素的相邻元素
- jestjs - 为什么简单的 babel 插件会破坏玩笑测试?
- javascript - 回发时清除 HTML 输入值