При создании новой программы лучше всего создать все мои функции в глобальной переменной/объекте или создать их все отдельно.
Это мнение основано на мнениях, но я дам вам веские основания для создания всех ваших свойств внутри глобального объекта: вы не будете загрязнять пространство имен. Это означает, что вы не будете создавать много глобальных объектов, которые были бы свойствами глобального объекта (, в браузерах).
Если вы используете чужую библиотеку, и если вы и он создадите глобальные объекты, скрипт, который был включен позже в HTML, переопределит свойства с тем же именем, которое было объявлено в другом скрипте.
Отделка, я хотел бы предложить вам написать код, как:
var app = {};
app.members = [];
app.Member = function(){};
app.reset = function(){};
app.printMembers = function(){};
app.process = function(){};
function init() {
app.process();
};
window.onload = init;
Кроме того, обратите внимание, что вы должны сделать window.onload = init
, а не window.onload = init()
.
Разница:
с window.onload = init
, вы устанавливаете onload
свойство в window
быть init
функция. Позже, когда страница закончит загрузку, кто-то попросит window
выполнить свое свойство onload
, а window
затем сделает что-то вроде this.onload()
.
с window.onload = init()
, вы выполняете init
прямо и установку onload
свойства window
быть возвращением выполнения функции init
. Поскольку каждая функция Javascript возвращает что-то (по умолчанию undefined
), вы будете устанавливать window.onload = undefined
. И это не то, что вы хотите.
Это полностью зависит, но если функции тесно связаны с ИМО, их следует сгруппировать, чтобы отразить это. Он также позволяет избежать загрязнения глобального пространства имен, что важно. –
только для начала: взгляните на http: //javascript.crockford.com/private.html –
JBTW: JavaScript обычно имеет отступы с 4 пробелами – DividedByZero