Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Дз5 #4

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open

Дз5 #4

wants to merge 8 commits into from

Conversation

Yunnii
Copy link

@Yunnii Yunnii commented Nov 7, 2012

No description provided.

страница с формой
валидация
навешевание обработчиков событий
При добавлении валидного события - добавляется в список на странице
+ очистка формы
+ страница
+ фильтрация
+ сортировка
+ при установке сортировки и фильтрации, в момент добавления события оно
автоматически встает куда надо
(function (exports) {
"use strict";

exports.Collection = function (items) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Лучше сделать вот так:

var Collection = function (items) {

};

// на то, что имя повторяется - пофиг
exports.Collection = Collection;

// и дальше уже работать с локальной переменной...
Collection.prototype.constructor = exports.Collection;

Дело в том, что Collection на строке 16 и дальше будет получен из глобальнй области видимости (exports===window), а обернув в IEFE мы максимально хотим тем самым использовать локальные переменные. Но все это работать будет.

@azproduction
Copy link
Member

💯 Молодец! Большая работа поделана :)

Посмотрел твой код мне показалось, что экспортируется много лишнего. Немного расскажу про смысл все этих IEFE и exports.

(function (exports) {
    exports.ListOfEvents = new Events();
}(window));

В JavaScript вообще нет такого понятия как модуль, но все очень желают их использовать потому как они ограждают ту область, которую должны видеть все от приватных переменных "IEFE - это эмуляция модуля". Если экспортировать все подряд, то смысл модуль теряет (разве что меньше писать "use strict").

Нужно выделть те объекты, которые должны быть видны всем (и они реально кем-то используются) и объекты и переменные, которые используются только этим модулем.

Это позволит отделить функции-интерфейсы модуля от левых переменных и уменьшить число глобальных переменных.

В идеале нужно стараться сделать так, чтобы в глобальную область видимости попало 0 твоих переменных. Те твои модули могут работать с глобальными объектами(подписываться на события например или использовать document.*), а сторонние скрипты не могут трогать и использовать твои переменные.

@Yunnii
Copy link
Author

Yunnii commented Nov 7, 2012

Поняла с IEFE. у меня были два модуля, и чтобы взаимодействовать между ними я выкидывала нужные мне переменные в глобал через exports т_Т . только сейчас дошло, что по логике это один модуль дб.

@azproduction
Copy link
Member

Насчет TravisCI. Обнаружил новый токен в настройках TravisCI, вбил его в настройки репозитория Github, нажал сохранить, отправить - заработало.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants