0

我想知道这段代码有什么问题,它会抛出一个语法错误:意外标记“anotherFuction如果我添加该anotherFunction部分。有人可以解释为什么,JavaScript 让我对所有这些调用函数的不同方式感到困惑。

var ajax = {

        parseJSONP : function(result) {
            console.log(result)

            //iterate each returned item
            $.each(result.items, function(i, row) {
                $('#listview_test').append('<li><a href="#headline"><img src="' + row.volumeInfo.imageLinks.thumbnail + '" class="ui-li-has-thumb"/><h3>' + row.volumeInfo.title + '</h3></a></li>');
            });
            //end iteration of data returned from server and append to the list
            $('#listview_test').listview('refresh');
            // refresh the list-view so new elements are added to the DOM
        }

        //error is here, I just wanted to add another function here to do 
         something

        anotherFuction : function(){

        }
    }
}
4

2 回答 2

2

您忘记了对象文字中第一个成员,关闭后的内容。}

您需要将每个成员分开,如下所示:

var ajax = {    
        parseJSONP : function(result) {
            $.each(result.items, function(i, row) {
                $('#listview_test').append('<li><a href="#headline"><img src="' + row.volumeInfo.imageLinks.thumbnail + '" class="ui-li-has-thumb"/><h3>' + row.volumeInfo.title + '</h3></a></li>');
            });
            $('#listview_test').listview('refresh');
        },
      // ^ Here   
       anotherFuction : function(){
           // No more syntax errors!
       }   
}
于 2013-06-01T16:24:39.680 回答
1

当您使用“对象文字语法”时,例如:

var object = {};

您必须用逗号 ( ) 分隔所有“成员”(变量、函数,)。

所以你的代码将变成:

var ajax = {
   parseJSONP: function(result) { /* function body from above */ },
   something,
   anotherFunction: function() {}
}

请注意在and之后添加了逗号 ( ,) 。somethingparseJSONP

于 2013-06-01T16:25:14.463 回答