Pull to refresh

Comments 10

Насколько я понимаю это не объект, а конструктор объекта.
Честно, я не разбирал исходники и не вникал как работает require(). Джеймс называет их модулями. По большому счету в итоге мы все равно получаем объект.
Функция, которая внутри конструируется через this — это конструктор объекта и вызываться должна через new.
Это может быть что угодно: объект, функция, просто переменная или скажем хеш констант. Тем более, что функция от конструктора в JS отличается не декларацией, а тем, как вы её потом используете.
>> Тем более, что функция от конструктора в JS отличается не декларацией, а тем, как вы её потом используете.
Функция от конструктора отличается контекстом, а стало быть и декларацией.
Буквально на выходных решил разобраться с node.js, для чего склепал чат, в котором, как в гугловейве, каждое сообщение передается по мере печати.

image

С модулями особо не парился, делал ссылку на класс доступной через exports. В яваскрипте жутко взбесило отсутствие связывания методов со своими объектами. В частности, что хендлеры для EventEmitter выполняются в его контексте, а не в контексте объекта, к которому хендлер принадлежит. После долгого использования AS3 очень сложно смириться с тем, что в js принято городить кучу вложенных анонимных функций и передавать контекст через замыкание.
Это тоже передача контекста через замыкание.
Только городить кучу вложенных функций не надо.
Sign up to leave a comment.

Articles