通過一個(gè)簡單的例子來闡述。
<script>
function Lecture(name,teacher){
this.name=name;
this.teacher=teacher;
}
Lecture.prototype.display=function(){
return this.teacher+"is teaching "+this.name;
}
function Schedule(lectures){
this.lectures=lectures;
}
Schedule.prototype.display=function(){
var str="";
for(var i=0;i<this.lectures.length;i++)
str+=this.lectures[i].display()+"! ";
return str;
}
var myLecture=new Lecture("Gym","Hunk Wang");
var myLecture2=new Lecture("Tom","Ducklyl");
var myArray=new Array(myLecture,myLecture2);
var mySchedule=new Schedule(myArray);
alert(mySchedule.display());
</script>
運(yùn)行結(jié)果為:Hunk Wang is teaching Gym! Ducklyl is teaching Tom!
下面分析一下流程,以上建立兩個(gè)類Lecture和Schedule,
首先初始化Lecture類,調(diào)用Lecture類構(gòu)造函數(shù),接著把Lecture類的對(duì)象,作為參數(shù)傳入Schedule類,Schedule對(duì)象初始化,從而實(shí)現(xiàn)上述結(jié)果。
不難發(fā)現(xiàn),這種方式和java是類似的。只過javascript要真正實(shí)現(xiàn)面象對(duì)象,還需要很多過程實(shí)現(xiàn)。
期待后續(xù)。