Допустим есть код (шаблон модуль, вроде), в котором есть переменная, использующаяся в нескольких функциях:
new function() {
var module = function () {
var moduleObject = {
init: function () {
console.log(myAmazingVariable);
/* CODE */
},
events: function () {
alert(myAmazingVariable);
/* CODE */
}
};
moduleObject.init();
};
return module();
}();
Где правильнее объявлять общие для модуля переменные в таком случае?
1)
new function() {
var module = function () {
var moduleObject = {
vars: {
myAmazingVariable = 'myAmazingValue'
},
init: function () {
console.log(this.vars.myAmazingVariable);
/* CODE */
},
events: function () {
alert(this.vars.myAmazingVariable);
/* CODE */
}
};
moduleObject.init();
};
return module();
}();
2)
new function() {
var module = function () {
var moduleObject = {
myAmazingVariable: 'myAmazingValue',
init: function () {
console.log(this.myAmazingVariable);
/* CODE */
},
events: function () {
alert(this.myAmazingVariable);
/* CODE */
}
};
moduleObject.init();
};
return module();
}();
3)
new function() {
var module = function () {
var myAmazingVariable = 'myAmazingValue';
var moduleObject = {
init: function () {
console.log(myAmazingVariable);
/* CODE */
},
events: function () {
alert(myAmazingVariable);
/* CODE */
}
};
moduleObject.init();
};
return module();
}();