0
我遇到了運行此代碼的問題,它似乎應該可以工作,並且我已驗證了多個網站上的語法。問題是它說這個行if (this.bank > car.getCost()){
調用的函數不是函數。我會發布我迄今爲止所做的工作。Javascript「不是函數」
var uniqueID = 0;
var minCost = 5000;
var maxCost = 100000;
var minMileage = 100;
var maxMileage = 100000;
function carHeader() {
console.log("Make & Model \t| Year \t| Color \t| Cost \t| Mileage");
}
function Car(make, model, year, color) {
this.ID = uniqueID;
uniqueID = uniqueID + 1;
this.make = make;
this.model = model;
this.makeAndModel = make + " " + model;
this.year = year;
this.color = color;
this.cost = Math.floor((Math.random() * maxCost) + minCost);
this.mileage = Math.floor((Math.random() * maxMileage) + minMileage);
this.getCarInfo = function() {
console.log(this.makeAndModel + "\t|" + this.year + "\t|" + this.color + "\t|" + this.cost + "\t|" + this.mileage);
}
this.getCost = function() {
return this.cost;
}
}
function Garage() {
this.garage = [];
this.bank = 1000000; //$1m
this.buyCar = function(car) {
if (this.bank > car.getCost()) {
this.garage.push(car);
this.bank = this.bank - car.getCost();
console.log("Your new bank value is: " + this.bank);
return 1;
} else {
console.log("You do not have enough funds");
return -1;
}
}
this.getGarageInfo = function() {
console.log("--Garage Info--");
console.log("Your current total bank:" + this.bank);
carHeader();
for (i = 0; i < this.garage.length; i++) {
this.garage[i].getCarInfo();
}
}
}
var car1 = new Car("Honda", "CRX", 1985, "Black")
var car2 = new Car("Hyundai", "Santa Fe", 2104, "White")
var car3 = new Car("Lotus", "Elise", 2010, "Pearl")
var car4 = new Car("Tesla", "Model S", 2014, "White")
var car5 = new Car("Tesla", "Model 3", 2017, "Black")
carArray = [];
carArray.push(car1);
carArray.push(car2);
carArray.push(car3);
carArray.push(car4);
carArray.push(car5);
carArray = [car1, car2, car3, car4, car5];
var myGarage = new Garage();
var fundsStillAvailable = true;
var carIndex = 0;
do {
console.log("Index :" + carIndex)
if (myGarage.buyCar([carIndex]) == 1) {
console.log("You have purchased a car" + carIndex + " length" + carArray.length);
if (carIndex < carArray.length) {
carIndex = carIndex + 1;
} else {
carIndex = 0;
}
} else {
console.log("You do not have enough money");
fundsStillAvailable = false;
}
} while (fundsStillAvailable === true)
if (myGarage.buyCar(car1) == 1) {
console.log("You have purchased a car");
}
myGarage.getGarageInfo();
嘗試改變'myGarage.buyCar([carIndex])''來myGarage.buyCar(carArray [carIndex])' – dewd
哇哦,是我不好。謝謝! – Darkweld