javascript - 在 Javascript 中使用闭包

标签 javascript function closures

我遇到过这段 javascript 代码。

var digit_name = function() {
    var names = ['zero', 'one','two'];
    return function(n) {
        return names[n];
    };
}();

alert(digit_name(1));

输出是一个。我知道内部函数正在分配给变量 digit_name。外层函数代码后第6行加括号是什么意思?谁能告诉我到底发生了什么?

最佳答案

添加的括号使外部函数执行,如果您省略它,它会将外部函数分配给您的 digit_name 而不是内部函数。

关于javascript - 在 Javascript 中使用闭包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12165608/

相关文章:

javascript - 如何在每次调用时为 setInterval 生成新的延迟?

javascript - 用纯css模拟mouseenter

swift - 从委托(delegate)的源 ViewController 调用异步闭包

javascript - TypeScript tsconfig 某些文件夹中的输出文件

javascript - Parse 的 API 说要使用 curl 请求。我想使用 AJAX

javascript - 按下键并运行 jquery 函数

postgresql - 我正在尝试为 postgresql 编写一个函数来进行一些字符串操作

c++ - 指向模板类成员函数的函数指针? (C++)

arrays - $0 和 $1 在 Swift 闭包中是什么意思?

r - 将参数传递给闭包(?)