这可能是一个简单的问题,但我需要创建相当于 N 个“类”实例的 JavaScript,其状态必须完全独立。
像:
var car = new Car('Ford');
var car = new Car('Toyota');
我怎样才能做到这一点?
这可能是一个简单的问题,但我需要创建相当于 N 个“类”实例的 JavaScript,其状态必须完全独立。
像:
var car = new Car('Ford');
var car = new Car('Toyota');
我怎样才能做到这一点?
您可以使用数组对象来存储它们:
var cars = [];
cars.push(new Car('Ford'));
cars.push(new Car('Toyota'));
cars[0].beep();
您可以使用循环遍历所有存储的实例for
:
for (var i = 0; i < cars.length; i++) {
var car = cars[i];
car.beep();
}
如果很难看出这里有什么问题。
从您的代码片段中,我可以看到您在创建新实例时可能遇到的唯一问题是您为其赋予了相同的名称。
给它一些其他的 var 名称:
var ford = new Car('Ford');
var toyota = new Car('Toyota');
否则,如果您有一个不同品牌的数组并希望将其转换为汽车对象数组,您可以这样做:
var types = ["Ford", "Toyota", "VW", "renault"];
var cars = {};
for (var i = 0; i != types.length ; i++)
cars[types[i]] = new Car(types[i]);
您可以像这样访问这些汽车:
var ford = cars.Ford;
或像这样:
var ford = cars["Ford"];