首页 > 解决方案 > 理解 JavaScript 代码 - 将值传递给已由具有值的函数定义的对象

问题描述

我对为什么console.log(twice(5))会打印 10 感到困惑。当它已经使用具有其值的函数定义时,两次取值为 5 是什么意思?

function multipler(factor){
    return number => number * factor;
}
let twice = multipler(2);

console.log(twice(5));

但如果我尝试打印console.log(multipler(2)),它只会打印[Function]

标签: javascriptfunction

解决方案


该函数multipler(请注意,您可能指的是multiplier)返回一个函数。所以,打电话multipler(2)给你这个:

number => number * 2

这是一个等效于这个的函数:

function (number) {
    return number * 2;
}

那就是你存储在twice. 所以,twice(5)返回10


推荐阅读