Имам приложение на JavaScript, което използва голямо количество глобални променливи (като например, няколкостотин от тях - това е порт на C програма, така че не го написах така). Очевидно това е много лоша практика да има толкова много променливи в обекта Window, но се боря да измисля безсловен начин да направя това.
В момента мисля, че това е пътят напред:
var myApp = {};
//file1.js:
myApp.variables = (function() {
var var1, var2, var3;
var items = new exampleConstructorFunction();
var etcereta = [];
})();
//file2.js:
myApp.gameplay = (function() {
//gameplay code
})();
//file3.js:
myApp.scheduling = (function() {
//timing code
})();
Но проблемът е, че за да имате достъп до която и да е от променливите в myApp.variables
от функции, дефинирани в gameplay
или timing
, ще трябва да я посочите като myApp.variables.var1
, което е доста лошо за четливостта, когато трябва да ги използвате често. Някакъв съвет?