带有构造函数(原型方式)的"类":
function Student(name,gender,age){ this.name = name; this.gender = gender; this.age = age; this.hobby = new Array(); } Student.prototype.showHobbies = function(){ var hobbies = ""; for(var arg in this.hobby){ hobbies += (this.hobby[arg] + " "); } alert(this.name + "'s hobbies are "+hobbies); hobbies = null; } var stu1 = new Student("Bob","male","24"); var stu2 = new Student("Tina","female","23"); stu1.hobby.push("basketball"); stu1.hobby.push("football"); stu2.hobby.push("music"); stu2.hobby.push("dancing"); stu2.hobby.push("reading"); stu1.showHobbies(); stu2.showHobbies();
动态原型: //与上例类似,只是方法也包含在"类"中,更符合视觉观点
function Student(name,gender,age){ this.name = name; this.gender = gender; this.age = age; this.hobby = new Array(); if(typeof Student._initalized == "undefined") { Student.prototype.showHobbies = function(){ var hobbies = ""; for(var arg in this.hobby){ hobbies += (this.hobby[arg] + " "); } alert(this.name + "'s hobbies are "+hobbies); hobbies = null; } } Sutdent._initalized = ture; }