function Aclass(){
this.open=function(){......很大的一个功能模块......};
}var a1=new Aclass();
var a2=new Aclass();
var a3=new Aclass();
var a4=new Aclass();
var a5=new Aclass();
...function Aclass(){
this.open=doOpen;
}function doOpen(){......很大的一个功能模块......}var a1=new Aclass();
var a2=new Aclass();
var a3=new Aclass();
var a4=new Aclass();
var a5=new Aclass();
...
this.open=function(){......很大的一个功能模块......};
}var a1=new Aclass();
var a2=new Aclass();
var a3=new Aclass();
var a4=new Aclass();
var a5=new Aclass();
...function Aclass(){
this.open=doOpen;
}function doOpen(){......很大的一个功能模块......}var a1=new Aclass();
var a2=new Aclass();
var a3=new Aclass();
var a4=new Aclass();
var a5=new Aclass();
...
this.open=function(){......很大的一个功能模块......};
}
====>每个对象都使用自己的open函数。每创建一个对象,相应的会创建open函数。(函数在某种意义上也是对象)
function Aclass(){
this.open=doOpen;
}
function doOpen(){......很大的一个功能模块......}
====>所有的对象共享open函数。
第一种每次实例化都会产生一个新的function
第二种只会保存一个doOpen的引用
}
Aclass.prorotype.open = function(){......很大的一个功能模块......};或Aclass.prorotype = {
open : function(){......很大的一个功能模块......}
};
第一个是用在类似
function Aclass(x){
var y
this.open=function(){......用到了x或y......};
}
这样的结构中的
如果function是不变的话那当然是用第二个啦