Формат кодирования Javascript между хешем и классом

Привет всем, я начал с кодирования javascript в реализации функционального стиля, но позже, когда мой код стал более сложным, я начал переделывать кодирование с использованием модульного подхода. Это мой первый подход с кодом 1.

Код 1:

var ListModel={
    _items:[],
    _selectedIndex:-1,
    getItems : function () {
        return [].concat(this._items);
    },
    addItem : function (item) {
        this._items.push(item);
    }
}

И позже в другом уроке я получил такой подход.

Код 2:

function ListModel(items) {
    this._items = items;
    this._selectedIndex = -1;
}

ListModel.prototype = {
    getItems : function () {
        return [].concat(this._items);
    },

    addItem : function (item) {
        this._items.push(item);
    },

    removeItemAt : function (index) {
        var item;
        item = this._items[index];
        this._items.splice(index, 1);
    }
}

Какой из них лучше и что означает этот код по сравнению с подходом функционального стиля. ?

Пожалуйста помогите ...


person PRASANTH    schedule 27.05.2014    source источник
comment
хорошо, спасибо, Казекаге, Гаара понял разницу между ними. Закрытие - это своего рода разделение кода, при котором каждая функция кода поддерживает свою собственную область видимости и имеет меньше шансов на коллизии переменных, которые могут использоваться для подхода js для каждого html-файла. Но для прототипов мы можем создавать экземпляры и повторно использовать коды. он может быть закодирован один раз и использоваться для нескольких страниц какой-то библиотеки. подход   -  person PRASANTH    schedule 27.05.2014
comment
Ссылка меня очистила, спасибо.   -  person PRASANTH    schedule 27.05.2014
comment
Код 1 поддерживает только синглтон (один статически объявленный экземпляр объекта). Код 2 позволяет вам создавать столько экземпляров, сколько вы хотите, с помощью new ListModel(x) и по этой причине может использоваться во многих других случаях.   -  person jfriend00    schedule 27.05.2014
comment
Код 2 должен быть лучшим подходом для кодирования в javascript.   -  person PRASANTH    schedule 27.05.2014