У меня есть приложение 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
, что довольно плохо для удобочитаемости, когда вам нужно их часто использовать. Любой совет?