陈广安个人网站
会写代码的咸鱼
陈广安个人网站阿里云盘资源
陈广安个人网站网盘资源搜索
“ 梦想还是要有的,万一实现了呢!”
— 马云

5.10-JS自定义对象

创建时间:2016-10-19

自定义对象

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; }
  • }