我想在 javascript 中循环一个类的每个对象(建筑),就像做我自己的 .each() jQuery 函数(因为有时,我只需要第一座建筑,而不是整个类)。有没有办法获取 Javascript 类中元素的索引?这些类的结构是否类似于数组,以便我可以访问 $('.Building)[i] 之类的元素?
我的类(class):
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); });
最佳答案
也许您正在寻找的是将您的 Building 对象添加到数组中:
var buildings = [];
buildings.push(b1);
buildings.push(b2);
然后,您可以根据需要循环:
for (var i=0, len=buildings.length; i < len; i++){
displayOnMap(buildings[i]);
}
关于类的 Javascript 索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18000797/