Объектно-ориентированный Javascript

В ходе программирования мы сталкиваемся с большими файлами javascript, которые с открытым исходным кодом и написаны объектно-ориентированным образом (например, JQuery).

Если нам нужно изменить эти файлы, мы должны иметь базовые знания о членах и потоке. Если у нас есть несколько файлов, задача намного сложнее.

Где я начну получать поток этого?

Ответ 1

Прежде всего, я думаю, что вам нужно понять, как работает объектная ориентация JavaScript, JavaScript OO Prototype-based, в котором классы не являются настоящее и повторное использование поведения реализовано путем прототипирования.

Я видел, что это может быть трудно поймать в начале для программистов, которые работали на обычных объектно-ориентированных языках класса (например, С++, С#, Java и т.д.).

Рекомендуемые статьи:

Ответ 2

Я бы сделал две вещи:

  • Read. Если есть файлы документации, прочтите их. Если есть комментарии, прочитайте их. Если ни один из них не поможет вам, перейдите к источнику и прочитайте это.

  • Когда вы говорите об Javascript с открытым исходным кодом, я предполагаю, что вы имеете в виду, что JS собирается в какой-то проект; все клиентские JS открыты с открытым исходным кодом: P. В этом случае авторы могут пожелать рассказать вам о своем коде. Найдите их электронную почту на странице проекта и попросите их дать вам обзор кода на высоком уровне, чтобы вы могли начать читать и понимать его самостоятельно. Вероятно, они не захотят держать вашу руку во всем, но, возможно, это будет в качестве отправной точки.

Ответ 3

У меня есть копия

и

сидит на моем столе прямо сейчас. Кстати, это единственные две книги Javascript, которые Дуглас Крокфорд считает хорошими;)

Они расскажут вам, как работает Javascript, в частности, как его объектная модель отличается от большинства (но не всех) других объектно-ориентированных языков.

Кроме этого, просмотрите все статьи на веб-сайте Crockford, как уже упоминалось в других ответах.

Ответ 4

Я согласен с allyourcode, там нет волшебного трюка. Вы должны прочитать код и прочитать документы. И если документы не подходят, возможно, вам стоит подумать об использовании другой структуры.

Ответ 5

Хорошим началом является понимание разницы между традиционной моделью OO и Javascript Prototype. (У Crockford есть некоторые статьи, которые реализуют традиционное OO для Javascript, чтобы противопоставить поведение.)