Я работал над этим кодом полтора часа, и у меня все еще есть проблемы. Это мой первый день с объектами JavaScript, и я не уверен, что какой-либо из моих кодов является лучшей практикой.
function Car(carModel, carManufacturer, carHorsepower, carOwner) {
this.model = carModel;
this.manufacturer = carManufacturer;
this.horsepower = carHorsepower;
this.owner = carOwner;
}
function changeCarModel(car,newModel) {
this.model = newModel;
}
function changeCarManufacturer(car,newmanufacturer) {
this.manufacturer = newmanufacturer;
}
function changeCarHorsepower(car,newHorsepower) {
this.horsepower = newHorsepower;
}
function changeCarOwner(car, newOwner) {
this.owner = newOwner;
}
function logCarInfo(car) {
console.log(this.model);
console.log(this.manufacturer);
console.log(this.horsepower);
console.log(this.owner);
}
//TODO Add an owner object!
function Owner(newName, newAddress) {
name = newName;
address = newAddress;
}
function changeOwnerName(owner, newName) {
owner.name = newName;
}
function changeOwnerAddress(owner, newAddress) {
owner.address = newAddress;
}
function main() {
var toyota = Car('Supra', 'Toyota', '800');
logCarInfo(toyota);
changeCarHorsepower(toyota, '10000');
console.log('-------');
logCarInfo(toyota);
changeCarHorsepower(toyota, '1000');
console.log('-------');
logCarInfo(toyota);
changeCarManufacturer(toyota, 'Ford');
console.log('-------');
logCarInfo(toyota);
var cooperCodes = Owner('Cooper', '1919 12th Street');
console.log('New Owner Made');
changeCarOwner(toyota, cooperCodes);
logCarInfo(toyota);
}
main();
Так что мне нужна помощь в этом, когда я попытался добавить this.owner = carOwner, а затем добавить нового владельца к объекту car, console.log печатает undefined. Я не уверен, почему это происходит, и если вы кто-нибудь знаете эту проблему, это будет так много значить для меня.