1、构造函数+原形(prototype)
1 //定义一个类class
2 function class(sample,){ //构造函数
3 someProperty=sample;
4 //其他属性
5 }
6
7 //通过指定prototype对象来实现类的成员定义
8 class.prototype={
9 someMethod:function(){
10 //方法代码
11 },
12 …//其他方法
13 } 2 、构造函数
1 function class(sample,){
2 someProperty=sample;
3 …//其他属性
4 //如果_init未定义,构造函数将用原形方式继续定义对象的方法,_init设置为true
5 //用来判断是否给原形赋予了任何方法,
6 //内部的函数只创建并赋值一次
7 if(typeof _init=="undefined"){
8 class.prototype={
9 someMethod:function(){
10 //方法代码
11 },
12 …//其他方法
13
14 }
15 _init=true;
16 };
17 } 两种模式都类似于传统意义面向对象语言中类的实现,当new一个对象时,每个对象都拥有自己的属性,同时方法是函数的引用。所以所有的函数多只创建一次,而每个对象拥有自己对象属性实例。