Ho una lezione scritta su un progetto a cui sto lavorando che mi è stato detto sta utilizzando il modello del modulo, ma sta facendo le cose in modo leggermente diverso dagli esempi che ho visto. Prende fondamentalmente questa forma:
(function ($, document, window, undefined) {
var module = {
foo : bar,
aMethod : function (arg) {
className.bMethod(arg);
},
bMethod : function (arg) {
console.log('spoons');
}
};
window.ajaxTable = ajaxTable;
})(jQuery, document, window);
Ho capito cosa sta succedendo qui. Ma non sono sicuro di come questo si riferisca alla maggior parte delle definizioni che ho visto del modello del modulo (o rivelatore?). come questo da briancray
var module = (function () {
// private variables and functions
var foo = 'bar';
// constructor
var module = function () {
};
// prototype
module.prototype = {
constructor: module,
something: function () {
}
};
// return module
return module;
})();
var my_module = new module();
Il primo esempio è fondamentalmente come il secondo eccetto che tutto è nel costruttore? Sto semplicemente avvolgendo la mia testa attorno ai modelli e le piccole cose all'inizio e alla fine non mi rendono sempre sicuro di cosa dovrei fare.