Создаю
сайт, клиентская часть на HTML5/JS/CSS. Серверная - Java/Spring. Нормально разбираюсь в серверном программировании, но вот в клиентской части - весьма плохо ориентируюсь.
Итак, вопросы:
1)Стоит ли использовать ООП в JS? Если стоит, то почему оно там так слабо реализованно? Если не стоит, то как мне достичь хорошего уровня абстракции, привык с объектами везде работать.
2)Стоит ли использовать геттеры\сеттеры для классов JS?
Рассмотрим небольшой фрагмент исходного кода:
//Файл section.js, подключается в <head> страницы
function Section(id) {
var _id = id;
this.paste = function () {
...
}
}
//Внутри страницы
<script>
var thisSection = new Section("${section.id}");
</script>
...
<button onClick="thisSection.paste()">Вставить</button>
Вопросы следующие:
3)Стоит ли для каждого класса js создавать отдельный файл? Если у меня будет на странице подключаться 10-15 файлов js - хорошо ли это?
4)Будет ли правильным решением в один js-файл запихнуть несколько небольших классов?
5)Корректен ли подход - прописывать onClick + функцию, или же лучше прописать id и потом через jQuery после подгрузки страницы найти все необходимые элементы по id и прописать клики, типа $("#id").click(...)?
6)Вся страница разбита на блоки (в моём случае это JSP-теги 2.0) с параметрами. Мне кажется удобным в этих блоках прописывать рядом с HTML теги script и в них уже - логику. Корректен ли такой подход?
7)Говорят что лучше разделять логику и представление, но если я разделю их - как я сделаю var thisSection = new Section("${section.id}"), т.е. как создать переменную, привязанную к конкретному блоку HTML-разметки, но при этом не объявляя её внутри этого блока?