Skip to content

Instantly share code, notes, and snippets.

@phwb
phwb / main.js
Last active October 2, 2019 16:38
(function() {
// импортируем нужные для старта приложения фукнции
var activateMap = window.map.activateMap;
var activateForm = window.form.activateForm;
// иницилизируем само приложение, просто активируя карту и форму
activateMap();
activateForm();
})()
@phwb
phwb / form.js
Last active October 2, 2019 16:30
(function () {
// активация формы
function activateForm() {/*...*/}
// валидация формы
function validateForm() {/*...*/}
// тут просто экспортируем функции для работы с формой
window.form = {
activateForm,
@phwb
phwb / map.js
Last active October 2, 2019 16:21
(function() {
// чтобы каждый раз не писать длинное имя, сохраним фукнции из модулей в обычные переменные
// лучше это делать в начале файле, чтобы было понятно что тут используются функции из других модулей
var createPins = window.pin.createPins;
var createPinsElement = window.pin.createPinsElement;
// активация карты, добавление пинов и тд
function activateMap() {
var pins = createPins();
var pinsElement = createPinsElement(pins);
@phwb
phwb / pin.js
Last active October 2, 2019 16:50
(function() {
// создание (или генерация) одного пина
function createPin() {/*...*/}
// создание списка пинов
function createPins() {/*...*/}
// создание DOM элемента
function createPinsElement(pins) {/*...*/}
// создание (или генерация) одного пина
function createPin() {/*...*/}
// создание списка пинов
function createPins() {/*...*/}
// создание DOM элемента
function createPinsElement() {/*...*/}
// создание детальной карточки пина
// Не правильно
// в одной фукнции сгенерировали данные и в ней же добавили их в DOM
function wrong() {
var data = [];
for (var i = 0, len = 5; len < i; i += 1) {
data.push(i);
}
var element = document.querySelectro('.parent');
for (var i = 0, len = data.length; len < i; i += 1) {
// Не правильно
// нашли элемент
var element = document.querySelectro('.parent');
function doSomeThing() {
// используем глобальную переменную внутри функции, не надо так!
element.textContent = 'Hello, world!';
}
doSomeThing();
// Правильно
// объявляем константы
const MAX_VALUE = 10;
// объявляем фукнции
function getData () {
let result = [];
for (let i = 0; i < MAX_VALUE; i += 1) {
result = result.concat(i);
}
// Immutable.js non-mutating List.push
const collection = Immutable.List.of('ironMan');
const newCollection = collection.push('captainAmerica');
console.log(newCollection)
// Output:
Array [
"ironMan",
"captainAmerica",
// Immutable.js non-mutating List.push
const collection = Immutable.List.of('ironMan');
collection.push('captainAmerica');
console.log(collection)
// Output:
Array [
"ironMan",
]