下面的javascript代码结构意味着什么?

What does following javascript code structure mean?

本文关键字:意味着 什么 结构 代码 javascript      更新时间:2023-09-26

我遇到过以下结构的javascript代码。

var somevar = function(){
    return {
        init: function(){
            function a(){} // no terminator in between functions.
            function b(){}
            function c(){} and so on
            ...
            some jquery declarations
            ...
        } // init ends
    }; // return ends
}(); // somevar ends

问题1. 这个概念叫什么?
2. 如何在init函数中调用函数?

:希望close的选民明白这个问题的重要性。

您所引用的结构称为模块模式。

详细查看模块模式

变量somevar包含直接执行的匿名函数IIFE的响应object。对象有一个属性,init,它也包含一个匿名函数。

init函数内部的函数只能在匿名函数内部使用(作用域)。

var somevar = function() {
    return {
        init: function() {
            // 'a()' is only available inside of the 'init' function
            function a() {
                console.log("init");
            }
            
            a();
        }
    };
}(); // <-- here the outer function is executed directly
// the call of 'init'
somevar.init();