jQuery Object文字函数声明错误

时间:2013-06-01 16:19:08

标签: javascript jquery function object syntax-error

我想知道这段代码有什么问题,如果我添加anotherFunction部分,它会抛出语法错误:意外令牌“anotherFuction 。有人可以解释原因,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(){

        }
    }
}

2 个答案:

答案 0 :(得分: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!
       }   
}

答案 1 :(得分:1)

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

var object = {};

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

所以你的代码将成为:

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

注意在,something之后添加了逗号(parseJSONP)。