我想知道这段代码有什么问题,如果我添加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(){
}
}
}
答案 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
)。