如何访问node.js中对象的成员
How to access members of a object in node.js
我对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;
我只想提一下,车站班的成员比这多得多。但这里的问题是,我无法从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;
但这似乎不起作用,因为它只是告诉我数据库是未定义的。我在这里做错了什么?
您在for循环中没有通过索引访问stations
。
在printer.js
:中更改此项
console.log('id: ' + stations.id);
至:
console.log('id: ' + stations[i].id);
相关文章:
- 查看JS对象的所有键,甚至是getter定义的键
- 在URL中传递JS对象
- 当属性不一致时,如何根据属性对JS对象列表进行排序
- JS对象密钥序列
- 在ajax调用中阻止来自JS对象的函数
- 属性未添加到JS对象
- 将字符串转换为JS对象
- 使用lodash查找具有truthy值的JS对象的属性
- 将toString方法暴露给nashorn中的js对象
- JSON数组转换为JS对象数组
- 将js对象更改为使用嵌套的可观察数组敲除js视图模型
- 设置1400个Raphael.js对象的不透明度动画会影响动画性能
- 以非ajax方式将js对象传递给mvc操作
- JS对象->来自jquery ajax的JSON提交->php迭代
- XMLHttpRequest发送JS对象
- 使用游标循环将JS对象添加到数组中
- 动态(重新)创建iframe内容不会重置Chrome中的JS对象
- 将JS对象数组转换为嵌套形式的最有效方法
- 在知道对象值的情况下,确定数组中JS对象的索引
- JS对象文字中的方法和子方法