Szukałem kodu źródłowego js dla Scrabb.ly.Co to za wzór znany w JavaScript?
Zauważyłem, że zrobią coś tak jak dla każdego z nich odrębne „klas”:
var Board = (function() {
var self = {};
// settings for board
self.options = {
debug: true,
addedPlayTiles: function() {},
clearedPlayTiles: function() {}
};
// set to true once the board has been setup
self.isSetup = false;
// quick access to square elements
self.squares = {};
self.squareCount = 0;
self.setup = function(options) {
self.log("Setting up board!");
// set options
_.each(options, function(val, key) {
self.options[key] = val;
});
return self;
})();
Niektóre kod z połowy zostały pominięte, ale to powinno dać ogólne pojęcie.
- Jaki jest cel następujących czynności:
(function() { // code })();
Czy jest to wzorzec modułu, o którym mówiłem? Czy to ma na celu utrzymanie globalnej przestrzeni nazw w czystości? - Co oznacza ta linia ?:
var self = {}
Czy obiekt własny był używany do ujawnienia "publicznych" członków? Jak zdefiniowałbyś prywatną funkcję lub zmienną? - Jak można utworzyć wiele "Tablic", jeśli chcesz?
Myślę, że masz na myśli "obiekt", a nie "tablicę"? –
@ Daniel Vassallo: Powinien powiedzieć "literalny przedmiot", dobry połów. –