2013-10-07 3 views
1

На данный момент я стараюсь писать код лучше, обращая больше внимания на структуру & узоров. Из интереса я начал смотреть на код других людей, чтобы понять, как они его структурировали. Один «узор», который я натолкнул несколько раз, примерно такой:jQuery - Структура кода - функция внутри функции

function foo(a, b) { 

    function bar() { 
     // do something with a & b 
    } 

    bar(); 

    // event handler, e.g. resize 
    $(window).on('resize', bar); 
} 

$(document).ready(function() { 

    foo(a, b); 
}); 

Таким образом, функция определена и, например, определена. два значения передаются этой функции. В этой функции определяется другая функция, где что-то делается с двумя значениями. Эта вторая функция затем привязана к обработчику событий (событие изменения размера является всего лишь примером). Наконец, внешняя функция запускается, когда DOM готов.

Почему люди пишут свой код, как это, только для того, чтобы сохранить готовый документ в порядке и чистоте? Или остановить людей от привязки там функции к другому событию? Может быть, это имеет какое-то отношение к переменной?

Кроме того, почему возникает пожар bar до того, как обработчик события подключен, это какой-то init, чтобы установить значения, а затем настроить их только при возникновении определенного события?

ответ

1

Да для DRY, пример изображения: функциональная панель, например, ширина набора или ширина вычисления для некоторых других элементов, и он немедленно вызывается для вычисления ширины для начального. Но когда размер окна изменяется, вы должны сделать пересчет, чтобы привязать эту функцию к размеру события.

Хороший пример для функции поставленной в функции модуль схема: link to good free ebook to learn javascript patterns

+0

Спасибо за ссылку, его большая книга! – Sven

Смежные вопросы