(IIFE), , , IIFE . , , IIFE, , IIFE.
, JavaScript . , - IIFE - . IIFE: IIFE.
, . options, , , , , . , , , .
, , . , IIFE , : , ( IIFE). . :
var moduleContext = function () {
var options = {
first: "test",
second: "test2",
third: "test3"
};
var module = function(userOptions) {
if (userOptions != null && userOptions != undefined
&& userOptions != 'undefined') {
for (var opt in options) {
if (userOptions.hasOwnProperty(opt)) {
options[ opt ] = userOptions[ opt ];
}
}
}
};
module.prototype = {
init: module,
options: options
};
return module;
};
var my_module3 = new (moduleContext())();
my_module3.init({
first: "Mike",
second: "Lisa",
third: "Mary"
});
var my_module2 = new (moduleContext())();
my_module2.init({
first: "Barry",
second: "Larry",
third: "Sam"
});
console.log(my_module2.options, my_module3.options);
new (moduleContext())(). moduleContext(), IIFE, . new ( ). moduleContext() , IIFE: JavaScript.
. - "" ( ), options . , .