Иван, да, не всегда есть возможность всё сделать декларативно и правильно одновременно. Ваш случай такой. Это больше задача для ООП, чем для функциональщины. В случае JS, конечно. На функциональном языке это решалось бы проще.
Иван, вот вам ещё альтернатива. Я, конечно, не считаю этот правильным, но сделать правильно тут малыми усилиями вряд ли получится, так что вот, оказывается так можно: https://codepen.io/Reenuay/pen/xxxmvOW
Самое главное — расслабьтесь. Если вам интересно и вы реально готовы вкладываться, то просто выбирайте то, что интересно вам — вы всё осилите. Не стройте себе странных картин из своих собственных ожиданий того, какие ожидания должны быть у потенциальных работодателей относительно вас. И нет, образование в смысле «корочка» вам не нужно. Вам нужно образование в истинном смысле этого слова. А это дело нарабатываемое. И джуном вас возьмут, просто будьте честны с собой и работодателями, это ценится. Ищите то место, которое вам нравится, где вам легко работается несмотря на сложные (но интересные) задачи, где ваши способности найдут применение. Поверьте, остальное булшит, извините за жаргон. Я это из своего опыта говорю. Как человек без корочки по теме связанной с ИТ. Как человек пришедший работать с нулевым опытом и обучившийся за месяц писать на языке Perl в сносной форме. И как человек сейчас начинающий заново со своей первой джуниоровской зарплатой, зато вернувшийся к тому, что ему интересно после 2 лет работы на хорошо оплачиваемой, но скучной работе.
$(document).ready(function() {
// какой-то код
});
То есть код внутри функции «подвешивается» на событие завершения загрузки документа. Если событие уже произошло, то код не будет вызван. Вы уверены, что вам это нужно?
Валентин, devalone прав, так вы не получите больше оттенков. Фон ваш серый, так что к прозрачным шарикам примешивается ещё и серый. Прозрачность бывает зрелищна только на неоднородных фонах. А у вас фон скучный. Возможно, это одна из причин, по которой ваши шарики теряют разнообразие в окраске.
andrew_andrey, всё зависит от потребностей вашей системы. Если большая, то смысл имеет. Особенно, если изменения происходят часто и много. Оверхед, конечно, будет. Для того и нужна оценка, чтоб понять оправдан ли этот оверхэд или нет. Оцените навскидку насколько вам нужна такая организация кода и сделайте вывод. Конечно, неплохо бы и с коллегами посоветоваться. В результате это может облегчить вам работу. Но не делайте ничего заранее. Если вам это не требуется прям сейчас, то не факт, что понадобится в будущем. Помните о принципах KISS и YAGNI.
Adamos, хм, возможно, я недостаточно понятно выразился. Хотя тут есть и момент различия того как вы видите функциональность, динамичность, надёжность и того, как вижу это я. Да и «только-только» для нас может звучать по-разному. Так что я оставляю за собой своё право быть правым.
Alexveto, вам уже ответили, поэтому я просто добавлю. Программирование — сравнительно молодая отрасль, тут ещё не всё однозначно, люди только начали учиться писать реально надёжные и, при этом, динамичные и функциональные программы. Очень много различных подходов, языков, инструментов, которые только-только начали показывать свои общие черты и связанность. Поэтому имеем ту картину, которую вы описали. Нет способа строго последовательно изучить разработку пока что.