在Javascript中使用闭包

Vic*_*cky 2 javascript closures function

我遇到过这个javascript代码.

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

alert(digit_name(1));
Run Code Online (Sandbox Code Playgroud)

输出是一个.我知道内部函数被赋给变量digit_name.在外部函数的代码之后在第6行添加括号的需要是什么.任何人都可以告诉究竟发生了什么?

Ank*_*kur 9

添加的括号使外部函数执行,如果省略它,它将为您digit_name的内部函数分配外部函数.