1

我想在 javascript 中循环一个类的​​每个对象(建筑物),就像做我自己的 .each() jQuery 函数(因为有时,我只需要第一个建筑物,而不是整个类)。有没有办法获取 Javascript 类中元素的索引?这些类的结构是否像数组一样,所以我可以访问像 $('.Building)[i] 这样的元素?

我的课 :

 function Building (name, height, width) {
     this.name = name;
     this.height = height;
     this.width = width;
 }

当我向班级添加建筑物时:

var b1 = new Building("Building1", 1, 2);
var b2 = new Building("Building2", 3, 4);

然后我想通过使用像这样的工具来显示它们

for (var i=0; i<$('.Building').length; i++){
displayOnMap($('.Building')[i]);
}

可能吗 ?我应该如何编码?

编辑 **

@MESSIAH:当然你可以制作 javascript 类,在这里查看 ;) https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript

@Ralph:不,我没有混淆,实际上它在我的代码中运行良好。.each() 函数不仅适用于 CSS 类,还适用于如上所示的 JavaScript 类。它是这样工作的:

$('.Building').each(function() { 
   getData(this); 
}); 
4

1 回答 1

3

也许您正在寻找的是将您的 Building 对象添加到数组中:

var buildings = [];
buildings.push(b1);
buildings.push(b2);

然后,您可以根据需要循环:

for (var i=0, len=buildings.length; i < len; i++){
    displayOnMap(buildings[i]);
}
于 2013-08-01T17:41:53.387 回答