<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="description" content="Demonstrates some logic errors" />
<meta name="keywords" content="HTML, average, errors" />
<title>Average numbers</title>
<script src="badaverage.js"></script>
</head>
<body>
<h1>Average numbers</h1>
<p>Click the button to enter a series of numbers to average</p>
<button id="enter">Enter your first number</button>
<p><span id="numberList"></span></p>
<button id="calculate">Calculate the average</button>
<p><span id="result"></span></p>
</body>
</html>
/*
JavaScript used with 'average.html'
Use an interactive debugger to find the errors in the JavaScript below
*/
"use strict";
//Global variables accessible to all functions
var numbers = []; //create an empty array
var enterButton = null; //global variables must be initialised
var calculateButton = null;
/* Get a number from the prompt
* If a valid number add to array, if not give error message to user
* Display the updated array of numbers on the web page
* Make the Calculate button visible
*/
function enterNumber(){
var number = prompt("Enter your number");
var number = Number(number); //WHAT DOES THIS LINE DO?
if (number >= 0) { // test what is entered is a number
numbers.push(number); //add the number entered to the end of the array
}
else{
alert("Please enter a valid number");
}
document.getElementById("numberList").innerHTML = "The numbers you have entered so far are: " + numbers; //diplay a list of number entered
enterButton.textContent = "Enter your next number"; //change the label on the Enter Button
calculateButton.style.visibility = "visible"; //show the button - uses the CSS property of the elenment
}
/* Calculate the sum and average of the array of number
* Display the results on the web page
*/
function calculateAverage(){
var average = 0;
var total = 0;
for (var i = 0 ; i <= numbers.length; i++){
total = numbers[i]; //add the each number in the array to the cumulative total
}
average = total/i;
document.getElementById("result").innerHTML = "The total of your numbers is " + total + " and their average is " + average;
}
function init(){
enterButton = document.getElementById("enter");
calculateButton = document.getElementById("calculate");
calculateButton.style.visibility = "hidden"; //hide the Calculate button until some numbers are entered
enterButton.onclick = enterNumber;
calculateButton.onclick = calculateAverage;
}
window.onload = init;
Alles sieht aus wie es in meinem Code erwartet auf der Linie 33 in meinem JavaScript, um die ‚Funktion calculateAverage‘ scheint nicht funktioniert zu arbeiten, wenn ich auf die Schaltfläche klicken um den Durchschnitt zu berechnen ich ‚NaN‘, wie mein Ergebnis, ich bin nicht sicher, wie ich dieses Problem beheben kann, so würde etwas Hilfe sehr dankbar, dankeBerechnung der durchschnittlichen Zahlen
Ihr Gesamtwert wird nicht immer aktualisiert. Es sollte "total + = Zahlen [i]" sein. – Nisarg
Danke aktualisiert. –