我有以下代碼,在循環中創建對象,然後訪問它們的值。現在我遇到了這個問題,即訪問對象本身是可以的,但不是包含對象的數組。我在這裏錯過了什麼嗎?無法訪問數組中的對象,但訪問對象本身
camList = new Array();
for (var i=0; i<8; i++)
{
var camObj = new Camera(i);
camList.push(camObj);
console.log(camObj.id); //this works
console.log(camList[i].id); //this doesnt
}
PS:在這個例子中,camObj.id只是返回當前值i。
PPS:我得到了TypeError:無法讀取未定義的屬性'id'。
編輯:
我添加了一個全碼的例子。
相機對象:
var Camera = function(id, cam)
{
this.id = id;
this.cam = cam;
this.res = {
"x" : this.cam.get(CV_CAP_PROP_FRAME_WIDTH),
"y" : this.cam.get(CV_CAP_PROP_FRAME_HEIGHT)
};
this.overlayData = new Array();
};
exports.Camera = Camera;
主要代碼:
var cv = require("opencv-node");
var Camera = require("./cameraModule").Camera;
var camList = new Array();
for (var i=0; i<8; i++)
{
var capture = new cv.VideoCapture();
capture.open(i);
if (capture.isOpened())
{
var camObj = new Camera(i, capture);
camList.push(camObj);
console.log(camList[i].id); //Here is the problem
}
}
** **怎麼不工作?怎麼了? – SLaks
你在哪裏定義'camList'?你確定你的'我'與其索引?如果你使用console.log(camList);'? –
同意@RocketHazmat - 索引可能沒有對齊。 – tymeJV