为了账号安全,请及时绑定邮箱和手机立即绑定

函数隐式接受参数

函数隐式接受参数

跃然一笑 2023-09-28 10:14:16
我只是好奇为什么下面的函数工作得很好,尽管在它的定义中我们看不到任何定义的参数?对于刚入门的 JS 开发人员来说,这似乎并不直观。const add = () => {    return num => {        const result = num + 10;        return `Calculated! ${result}`;    };};const addFn = add()console.log(addFn(5)) // Calculated! 15
查看完整描述

1 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

你说对了一部分。add不接受任何争论。如果您提供任何内容,它们将被忽略。


但是当你调用时add,你会得到这个函数


num => {

    const result = num + 10;

    return `Calculated! ${result}`;

}

如果将其单个参数括在括号中,则可能更容易将其识别为函数:


(num) => {

    const result = num + 10;

    return `Calculated! ${result}`;

}

这个新函数(大概)接受一个数字,加 10,然后返回一个包含该结果的格式化字符串。


所以这:


const addFn = add()

只需将 的值赋值addFn为 的返回值add (),即我们上面描述的函数。


当我们用 调用它时5,它返回涉及 的结果的格式化字符串10 + 5。


这样是不是更清楚了?


查看完整回答
反对 回复 2023-09-28
  • 1 回答
  • 0 关注
  • 63 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信