如何访问node.js中对象的成员

时间:2014-09-27 17:24:58

标签: javascript node.js object member

我是node.js的新手并且对象有点问题。假设我有两个文件,一个名为printer.js,另一个名为database.js。 printer.js打印结果数据库返回。 printer.js看起来像这样:

var db = require("./database")

db.getStations(dbReturn);

function dbReturn(stations) {
    for(var i = 0; i < stations.length; i++) {
        console.log('id: ' + stations.id);
    }
}

我的database.js看起来像这样:

function getStations(callback){
    var listOfStations = [];

    for(var index = 0; index < 10; index++) {
        var station = new Station(index);
        listOfStations[index] = station;
    }
    callback(listOfStations);
}

function Station(id){
    this.id = id;
}

exports.getStations = getStations;

我只想提一下,Station类的成员数量远不止于此。但问题是我无法从printer.js中的database.js中创建的Station对象访问成员。我在弄清楚如何做到这一点时遇到了很多麻烦。我已经学会了如何通过导出Station在printer.js中创建一个新的Station对象,但我仍然无法访问我在其他地方创建的对象的成员!它只吐出10 x“id:undefined”

我被建议做类似的事情:

database.prototype.getStations = function(callback) {
    //...
}

database.prototype.Station = function(id) {
    //...
}

module.exports = database;

但这似乎不起作用,因为它只是告诉我数据库未定义。我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

您未在for循环中按索引访问stations

printer.js

中进行更改
console.log('id: ' + stations.id);

为:

console.log('id: ' + stations[i].id);