我不知道有什么区别

问题描述 投票:0回答:3

我刚刚开始学习函数。这就是给我带来困难的原因。

const Func = () => {
  return () => {
    console.log('hello');
  };
};

const innerFunc = Func();

innerFunc(); // 1.

Func(); //2.

我不明白为什么尝试使用 2 时控制台上没有显示“hello”。

innerFunc 和 Func 不都是函数名吗?

我不知道它们之间的区别。

抱歉我的英语不好。

javascript function return
3个回答
1
投票

Func()
返回一个函数,直到您使用
()
运行结果(就像使用
1.
那样)时,该函数才会被执行。
通过执行
const innerFunc = Func();
,您将从
Func
返回的函数分配给
innerFunc
。所以要调用它,你需要像这样运行它:
innerFunc()


1
投票

您的函数“Func”从内部返回另一个函数,因此当您调用 Func() 时,它将返回您命名为“innerFunc”的另一个函数,并且调用 innerFunc 将返回输出为 hello。

当您尝试使用 Just 'Func()' 时,它只会返回您在 Func 中返回的另一个函数。


0
投票

开始学习函数,看看就知道了

const Func = () => {
    console.log('hello');
};

Func(); // logs hello to the console

这里是函数中的函数,比较复杂,而且不一定对初学者友好。

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