Итак, как я отмечал, появилась потребность и желание собрать воедино наиболее информативные ответы на вопросы, так или иначе, касающиеся теоретических аспектов JavaScript. К тому же, мини-опрос показал, что многим это будет интересно, и желание углубиться в JavaScript – есть.
Статьи будут оформлены больше в виде справочной информации, но, естественно, с определёнными пояснениями. Объём будет небольшой, но подробный (чтобы сильно не перегружать теоретической информацией; поэтому, даже лучше называть их заметками, а не статьями). Основная цель – передать информацию так, чтобы каждый интересующийся после прочтения мог чётко и ясно усвоить пройденный материал. Конечно же, дополнительные уточнения можно будет провести в комментариях; наиболее информативные и значимые комментарии можно будет включить в статью. Дополнения и корректировки – также, всегда приветствуются.
Второстепенная, но тоже важная, цель – это иметь данную информацию в определённом месте, чтобы в случае аналогичных вопросов на форумах ссылаться именно на неё, а не на обрывки из ответов с форумов, где часто информация получается вырванной из контекста.
Конкретно заданной последовательности подачи материала не будет (будем просто продвигаться по мере того, что интересно), но, всё же, постараюсь формировать статьи в хронологическом порядке знаний (т.е. нет смысла сначала рассказывать о Scope chain, если ещё не известно, что такое Variable object).
Ну что ж, на этом организационную часть можно закончить, и перейти, непосредственно, к информативной.
Первое, о чём стоит рассказать, это – контексты исполнения.
Скажите, в Джаваскрипт есть классы как в пхп например?
Я так толкового ответа порывшись по интернету не нашёл.
@FANTA
В текущей версии нет синтаксического сахара (т.е. ключевого слова
class
) для создания классов. Но можно использовать связку “конструктор + прототип”, которая будет играть роль класса. Естественно, и объекты и их прототипы будут полностью динамическими (т.е. статических классов с неизменным поведением здесь нет по определению).Литература: