日期:2014-05-16  浏览次数:20436 次

JavaScript常用"类"构建方式
带有构造函数(原型方式)的"类":
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;
}