मैं Scrabb.ly के लिए जेएस स्रोत कोड देख रहा था।जावास्क्रिप्ट में इस डिजाइन पैटर्न को क्या जाना जाता है?
मैंने देखा है कि वे इसलिए उनके अलग "वर्गों" से प्रत्येक के लिए की तरह कुछ करना होगा:
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;
})();
बीच हटा दिया गया है से कुछ कोड, लेकिन यह आप सामान्य विचार देना चाहिए।
- निम्नलिखित का उद्देश्य क्या है:
(function() { // code })();
क्या यह मॉड्यूल पैटर्न है जिसके बारे में मैंने बात की है? क्या इसका मतलब वैश्विक नामस्थान को साफ रखना है? - इस पंक्ति का क्या अर्थ है ?:
var self = {}
क्या स्वयं वस्तु 'सार्वजनिक' सदस्यों को उजागर करने के लिए उपयोग की जाती है? आप एक निजी फ़ंक्शन या चर को कैसे परिभाषित करेंगे? - यदि आप चाहें तो आप "बोर्ड" को तुरंत कैसे चालू करेंगे?
मुझे लगता है कि आपका मतलब "ऑब्जेक्ट" नहीं है "सरणी"? –
@ डैनियल वासलो: "ऑब्जेक्ट शाब्दिक", अच्छी पकड़ लें। –