2667. 创建 Hello World 函数
2667. 创建 Hello World 函数
题目
Write a function createHelloWorld
. It should return a new function that always returns "Hello World"
.
Example 1:
Input: args = []
Output: "Hello World"
Explanation:
const f = createHelloWorld();
f(); // "Hello World"
The function returned by createHelloWorld should always return "Hello World".
Example 2:
Input: args = [{},null,42]
Output: "Hello World"
Explanation:
const f = createHelloWorld();
f({}, null, 42); // "Hello World"
Any arguments could be passed to the function but it should still always return "Hello World".
Constraints:
0 <= args.length <= 10
题目大意
请你编写一个名为 createHelloWorld
的函数。它应该返回一个新的函数,该函数总是返回 "Hello World"
。
示例 1:
输入: args = []
输出: "Hello World"
解释:
const f = createHelloWorld();
f(); // "Hello World"
createHelloWorld 返回的函数应始终返回 "Hello World"。
示例 2:
输入: args = [{},null,42]
输出: "Hello World"
解释:
const f = createHelloWorld();
f({}, null, 42); // "Hello World"
可以传递任何参数给函数,但它应始终返回 "Hello World"。
提示:
0 <= args.length <= 10
解题思路
这道题的重点在于理解如何创建并返回一个函数,以及 JavaScript 中闭包的基本概念。
- 定义一个外部函数
createHelloWorld
。 - 这个函数返回一个匿名函数,而匿名函数的作用就是返回字符串
"Hello World"
。
复杂度分析
- 时间复杂度:
O(1)
,因为函数只进行简单的字符串返回操作,属于常数时间操作。 - 空间复杂度:
O(1)
,仅仅存储一个字符串,不随输入变化。
代码
/**
* @return {Function}
*/
var createHelloWorld = function () {
return function (...args) {
return 'Hello World';
};
};
/**
* const f = createHelloWorld();
* f(); // "Hello World"
*/