Soy nuevo en Javascript y actualmente estoy tratando de crear un programa simple que consta de 2 funciones, una de las cuales calcula el total de calificaciones de los estudiantes y la otra calcula el promedio de la calificación. aquí está el código
var grades = [80, 87, 94, 82, 62, 98, 81, 81, 74, 91]; var sum = 0; function accumulatedGrades(){ for (index = 0; index<grades.length; index++){ sum += grades[index]; } return sum / grades.length; } function tests(){ document.getElementById('average').innerHTML = document.write(sum/grades.length); } <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="js/example.js"></script> </head> <body> <h2 style="color: blueviolet">Grades</h2> <h3>This is all the grades: <br>80, 87, 94, 82, 62, 98, 81, 81, 74, and 91</h3> <h2 style="color: blueviolet">Average</h2> <h3 id='average'><script>tests()</script></h3> </body> </html>Intenté jugar con la función tests() y usé document.write() pero el resultado que he visto hasta ahora no está definido o no se muestra ningún resultado.
La función de calificaciones accumulatedGrades nunca se llama, por lo que la sum es 0. document.write e innerHTML no funcionan como lo ha indicado. document.write escribe en el documento e innerHTML es propiedad del elemento individual. La función de tests no está disponible en el archivo html. Actualicé el código, arreglé la función de calificaciones accumulatedGrades para calcular la suma correctamente. Se corrigió el html y se llamó a la función de tests en el propio archivo js.
var grades = [80, 87, 94, 82, 62, 98, 81, 81, 74, 91]; var sum = 0; function accumulatedGrades() { for (index = 0; index < grades.length; index++) { sum += grades[index]; } return sum; } function tests() { document.getElementById('average').innerHTML = (accumulatedGrades()) / grades.length; } tests() <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="js/example.js"></script> </head> <body> <h2 style="color: blueviolet">Grades</h2> <h3>This is all the grades: <br>80, 87, 94, 82, 62, 98, 81, 81, 74, and 91</h3> <h2 style="color: blueviolet">Average</h2> <h3 id='average'></h3> </body> </html>document.write() puede eliminar contenido si se llama después de cargar la página.
function averageGrades(){ for (index = 0; index<grades.length; index++){ sum += grades[index]; } return sum / grades.length; } document.getElementById('average').innerHTML = averageGrades();Verifique este código y avíseme si necesita una explicación.