Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript模块模式-如何在使用对象/函数之前启动构造函数/初始化函数?_Javascript - Fatal编程技术网

JavaScript模块模式-如何在使用对象/函数之前启动构造函数/初始化函数?

JavaScript模块模式-如何在使用对象/函数之前启动构造函数/初始化函数?,javascript,Javascript,我一直在寻找JavaScript模式以开始学习。我知道足够多的JavaScript是危险的,但不足以成为一个好的架构师 我首先使用模块模式创建一个“模型”,用于管理一些感兴趣的数据。有了下面的代码,我如何获得一个“构造函数”方法(或某种要激发的init方法)来初始化使用时的数据。这些数据将在所有实例中使用,所以我猜我会使用prototype var InterestDataModel = (function () { // Private var interestModels

我一直在寻找JavaScript模式以开始学习。我知道足够多的JavaScript是危险的,但不足以成为一个好的架构师

我首先使用模块模式创建一个“模型”,用于管理一些感兴趣的数据。有了下面的代码,我如何获得一个“构造函数”方法(或某种要激发的init方法)来初始化使用时的数据。这些数据将在所有实例中使用,所以我猜我会使用prototype

var InterestDataModel = (function () {

    // Private
    var interestModels = [];

    return {
        getInterestModels: function () {
            return interestModels;
        },

        resetInterestModels: function () {
            interestModels.length = 0;
        }
    }; // end return
})();

// Calling code
// When this call is made, I want some initialization to be done already!
InterestDataModel.getInterestModels();

由于您正在自执行“InterestDataModel”函数,因此该函数中的任何内容都将是初始化,并在调用getInterestModels方法之前运行。请参阅这个JSFIDLE示例:

因为您正在自执行“InterestDataModel”函数,所以该函数中的任何内容都将是初始化,并在调用getInterestModels方法之前运行。请参见此JSFIDLE示例: