0
每當我在沙箱環境中運行這段代碼時,我都會超時並最終崩潰。我已經通過多個IDE運行它,並且仍然無法找到任何語法錯誤。如果有人看到我沒有的東西,我非常感謝這些意見。Javascript超時
//assign variables to memory
var carModel = new Array()
var milesDriven = new Array()
var gallonsUsed = new Array()
var milesperGallon = new Array()
var questionState, epaRating, conditionofVehicle, totalAverage;
var runningAverage = 0;
var i = 0;
do {
//retrieve basic information about vehicle from standard input: model, miles, gallons
carModel[i] = prompt("What type of vehicle do you drive?");
milesDriven[i] = parseInt(prompt("How many miles have you
driven with this vehicle?"));
gallonsUsed[i] = parseInt(prompt("How many gallons of gas have you used when driving this vehicle?"));
//calculate miles per gallon
milesperGallon[i] = milesDriven[i]/gallonsUsed[i];
runningAverage = runningAverage + milesperGallon[i];
do {
questionState = prompt("Do you have any more vehicles that you would like to enter? If yes, type 'yes'. If no, type 'no'.");
} while (questionState != "yes" && questionState != "no");
i++;
} while (questionState == "yes");
totalAverage = runningAverage/i;
// parse through each element of carModel, milesDriven, gallonsUsed
for (var j = 0; j <= i; j++) {
//determine performance standards based upon M.P.G of vehicle
if (milesperGallon[j] >= 38) {
conditionofVehicle = "Good";
epaRating = 10;
//output the performance standards to user
document.writeln("Your" + " " + carModel[j] + " " + "receives" + " " + milesperGallon[j] + " " + "miles per gallon.");
document.writeln("Based upon this metric your vehicle is in" + " " + conditionofVehicle + " " + "condition and has a EPA rating of" + " " + epaRating + ".");
} else if (milesperGallon[j] >= 31 && milesperGallon[j] < 38) {
conditionofVehicle = "Good";
epaRating = 9;
//output the performance standards to user
document.writeln("Your" + " " + carModel[j] + " " + "receives" + " " + milesperGallon[j] + " " + "miles per gallon.");
document.writeln("Based upon this metric your vehicle is in" + " " + conditionofVehicle + " " + "condition and has a EPA rating of" + " " + epaRating + ".");
} else if (milesperGallon[j] >= 27 && milesperGallon[j] < 31) {
conditionofVehicle = "Good";
epaRating = 8;
//output the performance standards to user
document.writeln("Your" + " " + carModel[j] + " " + "receives" + " " + milesperGallon[j] + " " + "miles per gallon.");
document.writeln("Based upon this metric your vehicle is in" + " " + conditionofVehicle + " " + "condition and has a EPA rating of" + " " + epaRating + ".");
} else if (milesperGallon[j] >= 23 && milesperGallon[j] < 27) {
conditionofVehicle = "Fair";
epaRating = 7;
//output the performance standards to user
document.writeln("Your" + " " + carModel[j] + " " + "receives" + " " + milesperGallon[j] + " " + "miles per gallon.");
document.writeln("Based upon this metric your vehicle is in" + " " + conditionofVehicle + " " + "condition and has a EPA rating of" + " " + epaRating + ".");
} else if (milesperGallon[j] >= 22 && milesperGallon[j] < 23) {
conditionofVehicle = "Fair";
epaRating = 6;
//output the performance standards to user
document.writeln("Your" + " " + carModel[j] + " " + "receives" + " " + milesperGallon[j] + " " + "miles per gallon.");
document.writeln("Based upon this metric your vehicle is in" + " " + conditionofVehicle + " " + "condition and has a EPA rating of" + " " + epaRating + ".");
} else if (milesperGallon[j] >= 19 && milesperGallon[j] < 22) {
conditionofVehicle = "Fair";
epaRating = 5;
//output the performance standards to user
document.writeln("Your" + " " + carModel[j] + " " + "receives" + " " + milesperGallon[j] + " " + "miles per gallon.");
document.writeln("Based upon this metric your vehicle is in" + " " + conditionofVehicle + " " + "condition and has a EPA rating of" + " " + epaRating + ".");
} else if (milesperGallon[j] >= 17 && milesperGallon[j] < 19) {
conditionofVehicle = "Fair";
epaRating = 4;
//output the performance standards to user
document.writeln("Your" + " " + carModel[j] + " " + "receives" + " " + milesperGallon[j] + " " + "miles per gallon.");
document.writeln("Based upon this metric your vehicle is in" + " " + conditionofVehicle + " " + "condition and has a EPA rating of" + " " + epaRating + ".");
} else if (milesperGallon[j] >= 15 && milesperGallon[j] < 17) {
conditionofVehicle = "Bad";
epaRating = 3;
//output the performance standards to user
document.writeln("Your" + " " + carModel[j] + " " + "receives" + " " + milesperGallon[j] + " " + "miles per gallon.");
document.writeln("Based upon this metric your vehicle is in" + " " + conditionofVehicle + " " + "condition and has a EPA rating of" + " " + epaRating + ".");
} else if (milesperGallon[j] >= 13 && milesperGallon[j] < 15) {
conditionofVehicle = "Bad";
epaRating = 2;
//output the performance standards to user
document.writeln("Your" + " " + carModel[j] + " " + "receives" + " " + milesperGallon[j] + " " + "miles per gallon.");
document.writeln("Based upon this metric your vehicle is in" + " " + conditionofVehicle + " " + "condition and has a EPA rating of" + " " + epaRating + ".");
} else if (milesperGallon[j] >= 0 && milesperGallon[j] < 13) {
conditionofVehicle = "Bad";
epaRating = 1;
//output the performance standards to user
document.writeln("Your" + " " + carModel[j] + " " + "receives" + " " + milesperGallon[j] + " " + "miles per gallon.");
document.writeln("Based upon this metric your vehicle is in" + " " + conditionofVehicle + " " + "condition and has a EPA rating of" + " " + epaRating + ".");
} else {
document.writeln(" ");
}
}
// check to make sure there is an input value
if (totalAverage >= 0) {
document.writeln("You have" + " " + i + " " + "vehicles." + " " + "Between them
they average" + " " + totalAverage + " " + "miles per gallon.");
}
是'milesDriven [i] = parseInt(提示(「你用這輛車駕駛多少英里有你駕駛?」));'實際上是以這種方式打破了?似乎工作得很好,一旦你解決了壞行,並在你的條件結束。 – j08691 2013-03-15 15:40:20
這是一個堆棧溢出的格式問題。我的源代碼不包含這些換行符。 – 2013-03-15 16:05:50
奇怪,因爲當你修復它似乎工作正常:http://jsfiddle.net/j08691/VwbwA/ – j08691 2013-03-15 16:09:12