這兩天學(xué)習(xí)了JavaScript創(chuàng)建對(duì)象诡蜓,老師留下的作業(yè),感覺挺有意義的胰挑,于是保存下來蔓罚!
<script>
/*
1、創(chuàng)建一個(gè)學(xué)生類瞻颂,里面有名字豺谈、年齡、性別屬性
2贡这、創(chuàng)建一個(gè)班級(jí)類茬末,里面有名字屬性;
班級(jí)有一個(gè)add方法,可以添加學(xué)生
有一個(gè)findStuBySex方法丽惭,可以通過性別獲取學(xué)生
有一個(gè)findStuByAge方法击奶,可以通過年齡獲取學(xué)生
*/
//學(xué)生類
function Stu(sname, sage, ssex) {
this.sname = sname;
this.sage = sage;
this.ssex = ssex;
}
//班級(jí)類
function Cls(cname) {
this.cname = cname;
//定義一個(gè)數(shù)組,用來封裝添加的學(xué)生
this.stus = [];
}
//添加學(xué)生的方法
Cls.prototype.addStu = function(stu) {
//將學(xué)生添加到班級(jí)
this.stus.push(stu);
}
//通過性別獲取學(xué)生的方法
Cls.prototype.findStuBySex = function(ssex) {
//判斷班級(jí)是否有學(xué)生
if(this.stus != null || this.stus.length > 0){
//用來封裝查詢出來的學(xué)生
var stuArray = [];
//遍歷班級(jí)學(xué)生
for(var i = 0; i < this.stus.length; i ++){
//判斷學(xué)生性別
if(this.stus[i].ssex == ssex){
//將查出來的學(xué)生添加到數(shù)組
stuArray.push(this.stus[i]);
}
}
//將查詢數(shù)據(jù)返回
return stuArray;
}
}
//通過年齡獲取學(xué)生的方法
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;
}
}
//獲取一個(gè)班級(jí)對(duì)象
var cls = new Cls("前端");
//獲取學(xué)生對(duì)象
var stu1 = new Stu("cqf", 19, "男");
var stu2 = new Stu("sap", 18, "女");
var stu3 = new Stu("ch", 18, "女");
var stu4 = new Stu("yjl", 19, "男");
//添加學(xué)生
cls.addStu(stu1);
cls.addStu(stu2);
cls.addStu(stu3);
cls.addStu(stu4);
//用來封裝返回的學(xué)生數(shù)組
var stuArray;
//通過性別獲取學(xué)生
stuArray = cls.findStuBySex("男");
//控制臺(tái)輸出結(jié)果
console.log(stuArray);
stuArray = cls.findStuBySex("女");
console.log(stuArray);
//通過年齡獲取學(xué)生
stuArray = cls.findStuByAge(18);
console.log(stuArray);
stuArray = cls.findStuByAge(19);
console.log(stuArray);
</script>
代碼寫的不好责掏,不喜勿噴柜砾!謝謝!