Javascript MVC и синтаксис Вопрос - PullRequest
3 голосов
/ 13 апреля 2011

Я видел статью MVC JavaScript здесь , и модель определяется как:

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

    this.itemAdded = new Event(this);
    this.itemRemoved = new Event(this);
    this.selectedIndexChanged = new Event(this);
};

ListModel.prototype = {

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

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

    removeItemAt : function (index) {
        var item = this._items[index];
        this._items.splice(index, 1);
        this.itemRemoved.notify({item: item});
        if (index == this._selectedIndex)
            this.setSelectedIndex(-1);
    },

    getSelectedIndex : function () {
        return this._selectedIndex;
    },

    setSelectedIndex : function (index) {
        var previousIndex = this._selectedIndex;
        this._selectedIndex = index;
        this.selectedIndexChanged.notify({previous: previousIndex});
    }

};  

вопрос 1 .В javascript, что означает подчеркивание?например, this._items

вопрос 2 .в модели, где он используется, как использовать следующие вещи:

this.itemAdded = new Event(this);
    this.itemRemoved = new Event(this);
    this.selectedIndexChanged = new Event(this);

Ответы [ 2 ]

7 голосов
/ 13 апреля 2011

Подчеркивание - это просто условность, оно имеет смысл только для обозначения того, что было у кого-то в голове, когда они это писали.Как правило, люди используют подчеркивание для префикса имен методов, которые предназначены для использования в качестве закрытых методов, то есть только для внутреннего использования классом, не используемым другими пользователями.

1 голос
/ 13 апреля 2011

Подчеркивание ничего не значит, вы можете просто использовать его в именах переменных.

В этом случае кажется, что это указание на то, что он должен использоваться для закрытой переменной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...