Это смотря с чем вы работаете, если es2015, то там механизмы модульности вшиты через export/import, если что-то пораньше, то можно через require делать. При использовании фреймворков схемы могут немного отличаться, но всё основывается на внедрении зависимостей (например ангуляр первый и ангуляр 2+). Если вы используете jQuery, то можете оборачивать свой код в jQuery модули, это тоже не сложно.
С css тоже есть много практик и методологий, к примеру, в ангуляре это из коробки идёт, но для корректной работы используются сборщики, например, webpack. В общем случае, вы никогда не должны переопределять стили глобальных элементов, можете обернуть свою страницу в див с уникальным сложным идентификатором и ко всем стилям, которые вы добавляете первым должен идти этот айдишник. Но, как я уже сказал, методологий много, гуглите, изучайте.