1.工厂方式
<script type="text/javascript"> //多个对象共享的study方法 function study() { alert(this.xm + "开始学习"); } //创建Student对象的工厂函数 function createStudent(id, xm, age) { var Student = new Object;//没有参数时可以省略括号 Student.id = id; Student.xm = xm; Student.age = age; Student.study = study;//这里千万不要加括号,加上括号就变成方法调用了。 return Student; } var s1 = createStudent("J1001","FSJ",25); </script>
2.构造函数方式
<script type="text/javascript"> //多个对象共享的study方法 function study() { alert(this.xm + "开始学习"); } //Student的构造方法 function Student(id, xm, age) { this.id = id; this.xm = xm; this.age = age; this.study = study;//这里千万不要加括号,加上括号就变成方法调用了。 } var s1 = new Student("J1001","FSJ",25); </script>
3.原型方式
<script type="text/javascript"> //多个对象共享的study方法 function study() { alert(this.xm + "开始学习"); } //空的构造方法 function Student(){} Student.prototype.id = "110"; Student.prototype.xm = "haha"; Student.prototype.age = 110; Student.prototype.study = study; var s1 = new Student(); alert(s1.xm); s1.study(); </script>
使用原型方式的一个好处就是可以为已经存在的类添加新的成员。