Js очень располагает к одному глобальному контексту. Но мы то знаем, что в большом приложении нужна модульность, нужны простые изолированные контексты. Поэтому вспомните ООП: изолируйте логику в отдельные классы, а не размазывайте ее по десяткам глобальных функций, которые можно вызвать откуда угодно, и которые всегда можно случайно перекрыть создав функцию с тем же именем.
Пример изоляции логики в «классе»:
Как выглядит создание экземпляра:/** * Это javadoc для описания класса * @param {String} str - а это описание параметра конструктора */ NoteDocument = function(str){ //удобная ссылка на сам объект var self = this; //внутреннее поле var data; //публичный метод this.init = function(){ parse(str); }; //внутренний метод function parse(str){ ... } };
var doc = new NoteDocument("hello!"); doc.init();