JavaScript函数实现挑战:链式调用返回拼接字符串
解决JavaScript的
me()函数挑战 嘿,这个问题其实核心是利用闭包来保存第一个传入的参数,再通过返回的函数完成最终的字符串拼接。我们直接来看具体实现:
基础函数写法
最直观的实现方式用普通函数就能搞定:
function me(str1) { // 返回一个新函数,它会通过闭包记住外部的str1参数 return function(str2) { // 将两个字符串用空格拼接后返回 return str1 + " " + str2; }; }
简洁的箭头函数版本
如果偏好更精简的代码,用箭头函数可以一行实现:
const me = str1 => str2 => `${str1} ${str2}`;
验证效果
我们来测试题目里的两个判断条件:
var isSame1 = me("123")("321") === "123 321"; // 结果为true var isSame2 = me("321")("123") === "321 123"; // 结果为true
完全符合要求!当你调用me("123")时,返回的函数会通过闭包保留住str1的值为"123";后续调用这个返回的函数传入"321"时,就会把两个值按要求拼接成目标字符串。
内容的提问来源于stack exchange,提问作者Gerneio
相关产品推荐
相关产品推荐

