理解这段代码的思路如下:
- 定义了一个函数getGradeSum,它接受一个数组arr作为参数(如果调用时没有传入参数,则默认为空数组)。
- 函数内部初始化了一个变量sum用来存储总和,初始值为0。
- 使用for循环遍历数组arr,每次循环都将数组中的当前元素加到sum上。
- 遍历结束后,函数返回sum的值,即数组中所有元素的和。
在函数外部,定义了一个分数数组scores,并直接调用了getGradeSum(scores)函数,将返回的总分通过document.write输出到网页上。
参考代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>函数封装求学生总分</title>
</head>
<body>
<script>
// 学生的分数是一个数组,计算每个学生的总分
function getGradeSum(arr = []) { // 函数定义时添加参数 arr
let sum = 0//定义并初始化总和变量
for (let i = 0; i < arr.length; i++) {//进行数组遍历求和
sum += arr[i]
}
return sum // 遍历结束返回和值
}
// 函数调用 传入分数数组
let scores = [100, 100, 99, 100, 100]
// let gradesSum = getGradeSum(scores)
// document.write(gradesSum)
document.write(getGradeSum(scores))
</script>
</body>
</html>
运行结果如下: