Język JavaScript nie jest językiem obiektowym klasycznie, lecz prototypowo. Dodawanie metod do obiektu odbywa się w inny sposób niż jest to np. w Javie. Dlatego przez ogromną ilość programistów, którzy zaczynali od języka klasycznego transfer do składni JavaScript jest bolączką.
Przykład
Ale zamiast tego brzydkiego zapisu jakim jest
Carousel.prototype.move
Douglas Crockford
utworzył
ładniejszy oraz bardziej naturalny zapis dodawania metod do obiektu,
pomijając tym samym słowo kluczowe prototype
.
Istnieje też stworzenie metody w obiekcie poprzez słowo kluczowe
this
, ale po utworzeniu obiektu będzie ono na sztywno
przypisane z danym obiektem. Dlatego dodanie metody prototypowo zdecydowanie
wykorzystuje pełną siłę języka.
Po dodaniu takiego rozwiązania do obiektu Function
, dodawanie
metod przedstawia się następująco: