Это функция, которая извлекает результаты из Bing и заполняет массив объектов.Продолжайте получать NaN вместо 0
callBing: function (query, callback) {
var url = 'http://localhost/meta/public/bing/'+query ;
$.getJSON(url, function(data) {
total_bing = data.d.results[0].WebTotal;
var j = 0 ;
$.each(data.d.results[0].Web, function() {
var obj = new res(j+1, this.Title, this.Description, this.Url, 0) ;
b.push(obj) ;
j=j+1 ;
});
console.log(b);
callback(b, total_bing);
});
},
И это конструктор для объектов Реза
function res(id,title,desc,url,score)
{
this.id=id;
this.title=title;
this.desc=desc;
this.url=url;
this.score=score;
this.changeRankScore=changeRankScore;
function changeRankScore(Rankscore)
{
this.score=Rankscore;
return Rankscore;
}
}
Как вы можете видеть, когда каждый результат получен для конструктора, он заполняет массив с объектом результатов.
Оценка объектов результатов - последний параметр в конструкторе, который равен 0, но отображается как NaN
в консоли.
ли вы не называйте вашу функцию changeRankScore где-нибудь? Например, без аргументов. –
вы можете получить '' 0 "' вместо '0' конвертировать кулак в тип int. –
Обратите внимание, что в консоли Chrome, когда вы открываете объект, вы видите его в текущем состоянии, а не в состоянии при вызове 'console.log', то есть' callback (b, total_bing); 'может быть виновником. – freakish