为什么使用退货号码? [重复]

问题描述 投票:0回答:2
我对此代码有些困惑,主要是返回函数。我知道它接受给定的两个参数然后将它们相乘,但是我不知道在这种情况下函数号为什么或如何表示5,以及如何知道相乘。

每个人都非常乐于助人,我现在了解什么更高阶,并且意识到仅仅是箭头功能使我感到困惑。我需要尝试更多地了解它们。

function multiplier(factor) { return number => number * factor; } let twice = multiplier(2); console.log(twice(5));
javascript
2个回答
2
投票
为什么使用退货号码?

不是返回的变量number,而是一个函数,如果您不熟悉ES6箭头函数语法,那么使用旧语法是相同的,现在很清楚是怎么回事?

function multiplier(factor) { return function(number) { return number * factor; } } let twice = multiplier(2); console.log(twice(5));

3
投票
返回函数的函数称为Higher-Order Function

高阶函数multiplier()接受单个参数factor,并返回一个新的(arrow)函数。

新函数接受单个参数number,并返回factornumber的相乘。

由于关闭,返回的函数可以访问factor参数。

© www.soinside.com 2019 - 2024. All rights reserved.