0

Создать конструктор можно двумя способами:

Global = function (){
 /* */
}

и

function Global(){
  /* */
}

var object = new Global();

Есть ли принципиальное отличие в этих шаблонах?

8
  • 1
    new Global(); // ok function Global(){} **** new Global(); // error, Global is not defined var Global = function(){};
    – user3545
    7 мая 2013 в 21:18
  • @AlexWindHope, ну это как бы известно, поэтому в постановке вопроса я написал инициализацию объекта ПОСЛЕ объявления конструктора. Стало быть разницы в шаблонах нет.
    – Deus
    8 мая 2013 в 9:32
  • Первый пример - именованная функция, видна везде (в смысле и до и после объявления). Второй пример - анонимная функция и доступна только после объявления. На javascript.ru всё прекрасно расписано. Кстати, в первом примере функция Global будет находится в глобальной области видимости.
    – lampa
    8 мая 2013 в 9:44
  • @lampa не в глобальной а в любой текущей или предыдущей где есть var Glabal.
    – zb'
    8 мая 2013 в 10:48
  • 1
    я имею ввиду, что неправильно говорить глобальная область видимости, т.к. мы не знаем что является родительской областью видимости для этого кода.
    – zb'
    8 мая 2013 в 10:53

0

Ваш ответ

By clicking “Отправить ответ”, you agree to our terms of service and acknowledge you have read our privacy policy.

Посмотрите другие вопросы с метками или задайте свой вопрос.