你好,我是 JavaScript 的初学者,我正在尝试弄清楚 IIFE 是如何工作的,但我仍然遇到了一些麻烦。在讲座中,我偶然发现了这个示例代码,对下面代码的评估给出了“未定义”的结果,而用“add()”调用函数返回 1,我真的不明白为什么,因为函数是一个 IIFE。
var add = (function() {
var counter = 0;
return function() {
counter += 1;
return counter
}
})();
//Output: undefined