использование выражения функции против объявления функции в качестве замыкания

#javascript

#javascript

Вопрос:

Изучение шаблонов JavaScript. Есть ли какая-либо разница в создании функции конструктора как выражения против оператора. Я читал о закрытии, и это является причиной оператора return в примере ниже. Мои вопросы :

1) Может ли одна или обе функции вызываться как функция конструктора (я не использовал это ключевое слово)?

2) Различия между этими двумя подходами.

 var Dog1 = function (){
var name = 'xyz';
return {
    sayname: function(){
        console.log('name is ' name '');
    }
}
}

function Dog2(){
var name = 'xyz';
return {
    sayname: function(){
        console.log('name is ' name '');
    }
}
}

var mydog1 = new Dog1();
var mydog2 = new Dog2();
 

Извините, если мои примеры выглядят глупо!

Комментарии:

1. Нулевая разница, но это не конструкторы в смысле JavaScript, поэтому вы не должны использовать их с new или называть их заглавной первой буквой.

2. Спасибо за быстрый ответ. Это полезно.