gpt4 book ai didi

javascript - 有人可以向我解释这个功能是如何工作的吗?

转载 作者:搜寻专家 更新时间:2023-11-01 04:53:58 25 4
gpt4 key购买 nike

我正在学习编码,我正在尝试理解高阶函数和抽象。我不明白这段代码是如何运行并返回“true”的。

function greaterThan(n) {
return function(m) { return m > n; };
}

var greaterThan10 = greaterThan(10);

console.log(greaterThan10(11));

感谢您的帮助。

最佳答案

函数greaterThan调用时返回一个函数。即使在函数返回之后,返回的函数也可以访问外部函数的所有成员。这叫做 closure .

function greaterThan(n) {
return function (m) {
return m > n;
};
}

执行以下语句时

var greaterThan10 = greaterThan(10);

转换为

var greaterThan10 = function (m) {
return m > 10;
};

所以,greaterThan10现在是函数,可以调用为

console.log(greaterThan10(11));

现在,m 的值是11return 11 > 10;返回为 true .

阅读更多关于闭包的内容:

How do JavaScript closures work?

此外,我会向所有 JS 开发人员推荐以下很棒的文章

http://dmitryfrank.com/articles/js_closures

关于javascript - 有人可以向我解释这个功能是如何工作的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32753388/

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