gpt4 book ai didi

javascript - 不理解如何从数组加载类属性

转载 作者:行者123 更新时间:2023-11-28 02:37:39 25 4
gpt4 key购买 nike

我希望得到一些帮助。我正在尝试编写一个小型 javascript 程序来执行以下操作:

1)我已经有一些数组,其中包含有关不同汽车的一些信息。例如:

var brand = ["Audi", "Ford", "Peugeot", "Nissan"];
var color = ["red", "black", "black", "white"];

2)然后,我想创建一个类,该类创建一辆新车并通过从我存储在数组中的属性中检索属性的方法接收属性,

这样的事情正确吗?

function newcar() {
this.prototype.loadinfo = function() {
var cbrand = brand[0];
var ccolor = color[0];
}
}

很抱歉,如果这是严重错误的,但我问的原因是我在检查的网页上没有找到有关此特定案例的任何信息。由于我试图仅通过互联网教程来学习 javascript,因此我尽力猜测解决方案!

如果它是正确的(某种程度上)或者正确的版本非常相似,我无法理解在创建新车时应该如何在数组中前进。例如,如果我运行一次,创建的第一辆汽车将收到位置 [0] 的信息,但如果我运行两次或更多次......我如何知道应该在数组的哪个位置找到信息?

我对这个问题很困惑。如果有人能给我一些建议,我将非常感激。与此同时,我继续阅读相关内容,看看是否能找到其他东西。

谢谢!

最佳答案

如果我理解正确的话,您想为数组中尽可能多的品牌创建一个新的汽车对象。第一件事是修复你的构造函数。请注意,构造函数按照约定大写,原型(prototype)应在外部声明,但您不需要原型(prototype),因为您处理的是唯一属性而不是共享方法。然后您可以传递 2 个将分配给属性的参数。换句话说:

function Car( brand, color ) {
this.brand = brand;
this.color = color;
}

如果您需要一个方法来读取这些属性,请将其添加到原型(prototype)中,例如:

Car.prototype = {
loadInfo: function() {
alert( this.brand +':'+ this.color );
}
};

最后,要为数组中的每个项目创建一辆新车,您可以这样做:

var cars = [];
for ( var i = 0; i < brand.length; i++ ) {
cars.push( new Car( brand[i], color[i] ) );
}

现在 cars 数组中有 4 辆车,每辆车都有不同的品牌和颜色。

但更好的是,您可以在一个对象和 for...in 中组织您的品牌和颜色来创建新车:

var cars = {
Audi: 'red',
Ford: 'black',
Peugeot: 'black',
Nissan: 'white'
};

var mycars = [];
for ( var c in cars ) {
mycars.push( new Car( c, cars[c] ) );
}

关于javascript - 不理解如何从数组加载类属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13213622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com