我写了两个对象。一个叫做List,另一个叫做Car。
function Car()
{
this.make="";
this.year="";
}
function List()
{
this.cars = [];
}
我还有另一个函数,它是一个对象 List 的方法,用于读取 XML 文件的信息,并将它们存储在 List 对象内的汽车数组中:
List.prototype.readXML = function()
{
var i = 0;
$.get('mydata.xml', function(xml){
$(xml).find("item").each(function(){
//Bug Point!!!
this.cars.push(new Car()); //Push a Car object into array
this.cars[i].ID = ($(this).attr("ID"));
});
});
}
但是,这行不通。每次调试都让我没有定义汽车...我尝试使用 var 而不是这个来定义汽车。并试图删除 this.cars.push 而不是 cars.push。但它仍然说汽车没有定义。
我假设我可能在这个问题中的变量范围有问题。谁能教我怎么做?
谢谢!