这两天学习了JavaScript创建对象,老师留下的作业,感觉挺有意义的,于是保存下来!
<script>
/*
1、创建一个学生类,里面有名字、年龄、性别属性
2、创建一个班级类,里面有名字属性;
班级有一个add方法,可以添加学生
有一个findStuBySex方法,可以通过性别获取学生
有一个findStuByAge方法,可以通过年龄获取学生
*/
//学生类
function Stu(sname, sage, ssex) {
this.sname = sname;
this.sage = sage;
this.ssex = ssex;
}
//班级类
function Cls(cname) {
this.cname = cname;
//定义一个数组,用来封装添加的学生
this.stus = [];
}
//添加学生的方法
Cls.prototype.addStu = function(stu) {
//将学生添加到班级
this.stus.push(stu);
}
//通过性别获取学生的方法
Cls.prototype.findStuBySex = function(ssex) {
//判断班级是否有学生
if(this.stus != null || this.stus.length > 0){
//用来封装查询出来的学生
var stuArray = [];
//遍历班级学生
for(var i = 0; i < this.stus.length; i ++){
//判断学生性别
if(this.stus[i].ssex == ssex){
//将查出来的学生添加到数组
stuArray.push(this.stus[i]);
}
}
//将查询数据返回
return stuArray;
}
}
//通过年龄获取学生的方法
Cls.prototype.findStuByAge = function(sage) {
if(this.stus != null || this.stus.length > 0){
var stuArray = [];
for(var i = 0; i < this.stus.length; i ++){
if(this.stus[i].sage == sage){
stuArray.push(this.stus[i]);
}
}
return stuArray;
}
}
//获取一个班级对象
var cls = new Cls("前端");
//获取学生对象
var stu1 = new Stu("cqf", 19, "男");
var stu2 = new Stu("sap", 18, "女");
var stu3 = new Stu("ch", 18, "女");
var stu4 = new Stu("yjl", 19, "男");
//添加学生
cls.addStu(stu1);
cls.addStu(stu2);
cls.addStu(stu3);
cls.addStu(stu4);
//用来封装返回的学生数组
var stuArray;
//通过性别获取学生
stuArray = cls.findStuBySex("男");
//控制台输出结果
console.log(stuArray);
stuArray = cls.findStuBySex("女");
console.log(stuArray);
//通过年龄获取学生
stuArray = cls.findStuByAge(18);
console.log(stuArray);
stuArray = cls.findStuByAge(19);
console.log(stuArray);
</script>
代码写的不好,不喜勿喷!谢谢!