gpt4 book ai didi

javascript - 为什么我无法使用点语法访问返回的函数

转载 作者:行者123 更新时间:2023-11-28 12:59:32 27 4
gpt4 key购买 nike

我认为,一旦 createFunction 运行,我就可以访问内部函数。

function createFunction() {
function printHello() {
return console.log("hello");
}
return printHello;
}

// Both of these return undefined
createFunction(printHello());
createFunction.printHello();

有什么想法吗?

最佳答案

正确的语法是:

createFunction()();

...或者,更罗嗦一点:

const returnedFunction = createFunction();
returnedFunction();

... 作为 printHello 名称仅在 createFunction 内才有意义,但其值实际上是由该函数返回。是的,按照您想要的顺序放置任意数量的 () 是完全可以的。

作为旁注,返回 console.log('hello') 的结果没有什么意义:日志记录本身是一个副作用,无需检查其结果。

关于javascript - 为什么我无法使用点语法访问返回的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52104788/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com