2015-07-12 2 views
0

Чтение некоторого кода, каждый класс имеет две версии конструкторов, «Столичное письмо» и «Маленькое письмо». Я не знаю, зачем нужно так писать?Какова цель следующих двух версий конструкторов?

Version 1

T.A = function (x) {  
     }; 

Version 2

T.a = function (x) { 
     if (!x || x instanceof T.A) { 
      return x; 
     } 
     return new T.A(x); 
    }; 
+0

Я понятия не имею, почему это так, но JavaScript не имеет классов, а только объектов. – celticminstrel

+0

Я не думаю, что это общая структура, каков ваш источник? –

+0

'T' - некоторый объект; 'a' и' A' - свойства на 'T'; 'a' представляется простой функцией, но' A' является «классом». Это просто пустой конструктор. 'a' выглядит как фабричная функция. – kevin628

ответ

0

Капитализируя первую букву функции конструктора является JavaScript именования принято говорить разработчикам, что функция должна быть вызвана новым. Это связано с тем, что JavaScript не имеет классов, но имеет функции, которые могут действовать как стандартные конструкторы OO.

Смежные вопросы