Мой javascript файл становится довольно большим (3000+ строк), и я смущаюсь о том, как настроить мои файлы и функции delare, чтобы они могли вызывать в любом месте файла.
Подводя итог моему JS файлу, на данный момент немного похоже:
//ALL GLOBAL VARIABLES FIRST DECLARED HERE
var var1 , var2 ,var3
$(document).ready(function(){
//JQUERY STUFF
});
//ALL FUNCTIONS THAT NEED TO BE GLOBAL DECLARED HERE
function myFunction(){
//do some stuff here
}
У меня возникают проблемы с этим, так как некоторые функции, которые я вызываю в местах, как представляется, не объявляются во время вызова или недоступны для globaly. Все это сейчас очень запутанно!
Может ли кто-нибудь предложить лучший способ компоновки большого файла js/jquery с определенными функциями JS, объектами и переменными, доступными для ссылки в любом месте файла.
UPDATE:
Итак, чтобы упростить это правильно (см. мои комментарии)?
window.MainModule = (function($, win, doc, undefined) {//WHAT IS BEING PASSED IN HERE?
var foo, bar, modules; //VARIABLES ACCESSIBLE ANYWHERE
var modules["foobar"] = (function() {//WHAT IS A MODULE? WHEN WOULD I USE A SEPERATE MODULE?
var someFunction = function() { ... };//DECLARING MY FUNCTIONS?
...
return {
init: someFunction,//IS THIS WHERE I USE/BIND MY FUNCTIONS TO EVENTS AND ELEMENTS?
...
};
}());
// hoist a variable into global scope
window.Global = someLocal;
return {
init: function() {//FUNCTION TO INIT ALL MODULES?
for (var key in modules) {
modules[key].init();
}
}
};
}(jQuery, this, document));