现在需要制作一个点名系统,每次刷新网页, 随机输出一位同学的全部信息。每位同学都为一个对象,编写递归函数以初始化对象实例。提示:随机数通过Math.random()生成。(50分)
时间: 2024-05-16 10:12:04 浏览: 74
以下是可能的解决方案:
先定义一个Student对象:
```javascript
function Student(name, age, gender, grade) {
this.name = name;
this.age = age;
this.gender = gender;
this.grade = grade;
}
```
然后定义一个数组,存储所有学生的信息:
```javascript
var students = [
new Student("张三", 18, "男", "一年级"),
new Student("李四", 17, "女", "二年级"),
new Student("王五", 16, "男", "三年级"),
new Student("赵六", 15, "女", "四年级"),
new Student("钱七", 14, "男", "五年级")
];
```
最后定义递归函数,初始化每个学生对象:
```javascript
function initStudents(students, index) {
if (index == students.length) return;
students[index].id = index + 1;
initStudents(students, index + 1);
}
initStudents(students, 0);
```
这个函数会递归调用自己,直到初始化完所有学生对象。
最后,可以用以下代码随机输出一个学生的信息:
```javascript
var randomIndex = Math.floor(Math.random() * students.length);
var randomStudent = students[randomIndex];
console.log(randomStudent);
```
这个代码会生成一个随机数(0 ~ 学生数量-1),然后用这个随机数获取对应的学生对象,最后输出这个对象的信息。
阅读全文