5.10-JS自定义对象
自定义对象
1、对象字面量方式
-
var 变量={"变量名":变量的值,“行为|功能”:function(){}}
-
var 变量=new Object();
-
变量.属性=值 ;
-
变量.属性=值 ;
-
、、、、、
-
变量.行为|功能=function( ){ }
-
-
缺点:定义多个对象,需要重复定义
2、工厂方式
-
function factory(){
-
var 变量=new Object();
-
变量.属性=值 ;
-
变量.属性=值 ;
-
、、、、、
-
变量.行为|功能=function(){} ;
-
return 变量;
-
}
-
-
缺点:函数没法共用
3、构造函数
-
function 函数名(){
-
this.属性名=属性值;
-
this.属性名=属性值;
-
、、、、、
-
this.行为|功能 = function(){}
-
}
-
-
缺点:函数没法共用
4、原型模式
-
function 函数名(){————————函数名首字母大写}
-
函数名.prototype.属性=值
-
函数名.prototype.属性=值
-
、、、、、
-
函数名.prototype.行为=function(){ }
-
}
-
-
缺点:定义多个对象,需要重复定义
5、混合模型:构造函数与原型模式 把不共用的放到构造函数里,把共用的放到原型里
-
function 函数(){
-
this.属性名=值;
-
this.属性名=值;
-
this.数组
-
}
-
函数.prototype.行为|功能 =function(){ }
-
-
缺点:没法体现封装
5、动态原型
-
function 函数(){
-
this.属性名=值;
-
this.属性名=值;
-
this.数组
-
if (typeof Car._initialized == "undefined") {
函数.prototype.行为|功能 =function(){ }
-
Car._initialized = true; }
-
}