如何将“[object Object]”转换为数字

时间:2013-10-19 12:22:22

标签: javascript

我已经设置了一个任务,使用外部IFFE文件,创建一个应用程序,计算使用IFFE内部功能的车队的燃料成本。然后将其显示在一个框中。

IFFE可以看到Here,人们告诉我,下面的代码应该可以调用正确的函数来完成任务

var fuel = new fuelCalc();


// On the button press
miles = 10000;
var cost = fuel.cost(miles);

然后执行以下操作应将其放入文本框

document.getElementById("TotalCost").value = cost;

但是,它所做的就是在文本框中添加以下内容

[object Object]

我需要添加什么才能显示计算出的金额?

3 个答案:

答案 0 :(得分:2)

您需要指定一年,例如document.getElementById("TotalCost").value = cost[2013];

答案 1 :(得分:0)

根据你的代码,看起来你的函数fuelCalc.cost实际上是在返回一个对象。

您是否需要在该功能中进行进一步的计算,可能:

fuelCalc.prototype.cost = function ( annualMileage, start, end ) {
    var costPerLitre = this.costPerLitre;
    var averageMPG = this.averageMPG;

    var startYear = start || 1989;
    var endYear = end || 2020;
    var totalYears = endYear - startYear;

    var data = {};
            var totalCost = 0;

    for (var year = startYear, t = endYear; year <= t; year += 1) {
        data[year] = this.costIn( year, annualMileage );
                    totalCost += data[year]
    }

    return totalCost;
}

答案 2 :(得分:0)

您看到[object Object]的原因是因为fuel.cost(miles)未返回费用值,但可能会hashcost类的实例。

尝试在浏览器的javascript控制台上调试此javascript,方法是在以下行设置断点:

document.getElementById("TotalCost").value = cost;

此时在控制台中,只需打印cost变量即可。它将列出对象结构,您可以从中提取相关数据。