继续获得NaN而不是0

时间:2013-03-31 09:31:14

标签: javascript

这是一个从Bing检索结果并填充Object数组的函数。

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);
    });
},

这是res对象的构造函数

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

这是截图 enter image description here

1 个答案:

答案 0 :(得分:0)

正如@freakish所说,调用scoreconsole.log可能已被更改,但console.log恰好显示更改后的值。

您可以在console.log(b[0].score)

之前和之后尝试callback