js的闭包函数实现学生姓名增删改查
时间: 2023-10-10 12:11:57 浏览: 42
好的,我可以为您讲解如何使用闭包函数实现学生姓名的增删改查。
首先,我们可以定义一个 `students` 数组来存储学生的信息,每个学生信息包括 `id` 和 `name` 两个字段。然后,我们可以定义一个闭包函数,该函数返回一个对象,对象中包含了增删改查四个方法。
下面是实现的示例代码:
```javascript
var studentManager = (function() {
// 学生数组,用于存储学生信息
var students = [];
// 辅助函数,用于生成学生ID
var generateId = function() {
return 'stu_' + Math.random().toString(36).substr(2, 9);
};
// 增加学生信息的方法
var addStudent = function(name) {
var id = generateId();
students.push({ id: id, name: name });
return id;
};
// 删除学生信息的方法
var removeStudent = function(id) {
var index = students.findIndex(function(student) {
return student.id === id;
});
if (index !== -1) {
students.splice(index, 1);
}
};
// 修改学生信息的方法
var updateStudent = function(id, name) {
var index = students.findIndex(function(student) {
return student.id === id;
});
if (index !== -1) {
students[index].name = name;
}
};
// 查询学生信息的方法
var getStudent = function(id) {
var student = students.find(function(student) {
return student.id === id;
});
return student ? student.name : null;
};
// 返回一个包含四个方法的对象
return {
addStudent: addStudent,
removeStudent: removeStudent,
updateStudent: updateStudent,
getStudent: getStudent
};
})();
```
使用示例:
```javascript
// 增加一个学生
var id = studentManager.addStudent('小明');
console.log(id); // 输出新增学生的ID
// 修改一个学生的姓名
studentManager.updateStudent(id, '小红');
// 查询一个学生的姓名
var name = studentManager.getStudent(id);
console.log(name); // 输出学生的姓名
// 删除一个学生
studentManager.removeStudent(id);
```
这样,我们就通过闭包函数实现了学生姓名的增删改查功能。