Метод определения неисправностей для определения класса Javascript - PullRequest
1 голос
/ 04 апреля 2010

Я немного новичок в объектно-ориентированном программировании в Javascript, и я пытаюсь построить объект-обработчик и библиотеку для списка элементов, которые я получаю после вызова API. В идеале я хотел бы, чтобы библиотечные функции были членами класса обработчика. У меня проблемы с тем, чтобы заставить мой метод класса работать однако. Я определил как часть класса bcObject метод getModifiedDateTime, но когда я пытаюсь отобразить результат вызова объектов этим методом, я получаю эту ошибку:

Error on line 44 position 26: Expected ';'
    this.getModifiedDateTime: function(epochtime) {

, что наводит меня на мысль, что у меня просто проблема с синтаксисом в определении метода, но я не могу понять, где.

response(
    {
        "items":
        [
            {"id":711,"name":"Shuttle","lastModifiedDate":"1268426336727"},
            {"id":754,"name":"Formula1","lastModifiedDate":"1270121717721"}
        ],
        "extraListItemsAttr1":"blah",
        "extraListItemsAttr2":"blah2"
    });

function response(MyObject) {
    bcObject = new bcObject(MyObject);

    thing = bcObject.getModifiedDateTime(bcObject.videoItem[0].lastModifiedDate);
    SOSE.Echo(thing);
}   

function bcObject(listObject) {
  // define class members
  this.responseList = {};
  this.videoCount = 0;
    this.videoItem = [];
    this.responseListError = "";

    // instantiate members
    this.responseList = listObject;
    this.videoCount = listObject.items.length;

    // populate videoItem array
    for (i=0;i<this.videoCount;i++) {
        this.videoItem[i] = listObject.items[i];
    }

    this.getModifiedDateTime: function(epochtime) {
        var dateStringOutput = "";
        var myDate = new Date(epochtime);
        dateStringOutput = myDate.toLocaleString();
        return dateStringOutput;
    };
}

Ответы [ 2 ]

3 голосов
/ 04 апреля 2010

Вы используете = для назначения значений в JS, а не ::

this.getModifiedDateTime = function(epochtime) {
2 голосов
/ 04 апреля 2010

Вы должны использовать оператор = для методов, определенных как вы там (this.<methodName> = function (...) {).

Обозначение двоеточия используется при объявлении литералов объекта.

...