ExtJS 3: Два способа создания собственного класса: в чем разница?

Я пытаюсь изучить ExtJS и объектно-ориентированный JavaScript в целом. Я видел людей, определяющих классы в пользовательских пространствах имен несколькими способами. В чем разница между этими двумя методами?

Способ 1

Ext.ns('myapp.cars');
(function(){
    var Car = Ext.extend(Object, {
       //...
    })

    myapp.cars.Car = Car;
})()

Способ 2

Ext.ns('myapp.cars');
myapp.cars.Car = Ext.extend(Object, {
       //...
});

Метод 2 легче читается и требует меньше кода; Есть ли причина, почему метод 1 лучше? Спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос