1.工厂模式 封装创建对象的函数,提高代码复用性,
    缺点:
    创建出来的对象都是Object类型,无法区分种类。
    每创建一个对象,sayName方法都连着创建一个,浪费空间
    (解决:把sayName写在外面,成为全局方法,但依然会方法冗余,假设很多封装的函数中都用到sayName,写在外面的sayName不好区分)

var sayName = function () {console.log(this.name);
}
function Person(name, age, gender) {// return 'hello'return {name: name,age: age,gender: gender,sayName:sayName}
}
var p1 = Person('张三', 12, '男');
var p2 = Person('李四', 18, '女');
console.log(p1, p2, '工厂模式创建的对象');
p1.sayName();
p2.sayName();
console.log(p1.sayName===p2.sayName);

2.构造函数模式
        可以区分种类。但是方法还是冗余。

var sayName=function(){console.log(this.name);
}
function Person(name,age,gender){this.name=name;this.age=age;this.gender=gender;
};
var p1=new Person('王五',17,'男');
var p2=new Person('赵六',18,'女');
console.log(p1,p2);
p1.sayName();
p2.sayName();
console.log(p1.sayName===p2.sayName); function Animal(name,age,gender){this.name=name;this.age=age;this.gender=gender;};var n1=new Animal('王五',17,'男');var n2=new Animal('赵六',18,'女');console.log(n1,n2);

3.原型模式
    每个函数都有一个属性:prototype(原型属性),这个属性是一个指针,
    指向一个对象,该对象用途是包含可以由特定类型的
    所有实例共享的属性和方法. 
    可以共享属性和方法,但是私有属性得不到维护.
    属性和方法都在原型中

function Person(){};
Person.prototype={constructor:Person,name:"鬼脚七",age:18,gender:'男',firends:[],sayName:function(){console.log(this.name);}
};
var p1=new Person();
var p2=new Person();
p1.firends.push('terry')
console.log(p1.firends,p2.firends); //p1 p2都有terry

4.组合模式
        构造函数模式加原型模式,构造函数中放实例私有的属性,
        构造函数原型对象中放共有属性和方法.

function Person(name,age,gender){this.name=name;this.age=age;this.gender=gender;this.firends=[];
}
Person.prototype={constructor:Person,sayName:function(){console.log(this.name);}
}
var p1=new Person('tom',19,'男');
var p2=new Person('lerry',20,'女');
console.log(p1,p2);
p1.firends.push('terry');
console.log(p1,p2);

批量创建对象的四种模式相关推荐

  1. 2021年用独立站铁赚的四种模式

    近期独立站建站平台发布财报,在2020年一年时间里,GMV 翻了一番.这个结果充分说明了独立站越来越受到卖家们的青睐,布局独立站也成为了必备标配. 想在2021年里利用独立站走上人生巅峰?那必然离不开 ...

  2. Java反射之创建对象的四种方式

    Java反射之创建对象的四种方式 1.使用new关键字 2.使用Java反射机制,反射构造器 3.使用克隆方式创建对象Cloneable 4.使用序列化Serializable 1.使用Java反射机 ...

  3. spi协议时序图和四种模式实际应用详解

    大家好,我是无际. 上个章节我们讲解了spi接口定义,今天我们更加深入讲解下spi协议时序图和spi四种模式的用法. 刚开始接触单片机开发时,最怕就是看时序图,对于我来说就是奇怪的知识. 特别是SPI ...

  4. ThinkPHP的访问模式分为四种模式

    ThinkPHP的访问模式分为四种模式 0 普通模式 http://www.yual.com/index.php?m=user&a=show 1 pathinfo模式 http://www.y ...

  5. Java中创建对象的四种方式

    为什么80%的码农都做不了架构师?>>>    Java中创建对象的四种方式 (1) 用new语句创建对象,这是最常见的创建对象的方法.    (2) 运用反射手段,调用java.l ...

  6. gRPC四种模式、认证和授权实战演示

    前言 上一篇对gRPC进行简单介绍,并通过示例体验了一下开发过程.接下来说说实际开发常用功能,如:gRPC的四种模式.gRPC集成JWT做认证和授权等. 正文 1. gRPC四种模式服务 以下案例演示 ...

  7. lvs工作在第几层_LVS 原理(调度算法、四种模式、四层负载均衡和七层 的区别)...

    目录 lvs的调度算法 lvs的四种模式 四层均衡负载和七层的区别 1.lvs调度算法(最常用的四种) 轮叫调度(rr) 调度器通过外部请求的顺序轮流分配到集群中的真实服务器上,对每台服务器都是均等的 ...

  8. 企业风险管理的四种模式五种策略分别是什么?

    企业风险管理一直是一个经久不衰的话题,企业风险管理对于企业主来说尤为重要,这在很大程度上关系着企业能否健康的发展.鉴于很多人对于企业风险管理这一内容了解不是很透彻,今天分享企业风险管理的四种模式和五种 ...

  9. 云计算技术架构-云计算四种模式(公有云、私有云、混合云、行业云)

    接下来几篇主要从技术角度介绍云计算的架构:  云计算四种模式:公有云.私有云.混合云和行业云(本文讲述)  云计算架构:基础架构层.云平台层.业务应用层和业务管理层  云计算服务模式:IaaS. ...

最新文章

  1. Starting HAL daemon:[FAILED]
  2. 【c语言】蓝桥杯算法提高 时间转换
  3. 【整理】【转载】高薪是怎么跳出来的?
  4. sqlserver往oracle写数据,Sqlserver连接oracle进行读写数据库
  5. MySQL事务的不可重复读
  6. 十四、Canny边缘提取
  7. java php js_【javascript/PHP】当一个JavaScripter初次进入PHP的世界,他将看到这样的风景...
  8. 今天,这些公众号被永久禁言
  9. 基于VMware vSphere的虚拟化平台,内存分配是如何实现的?
  10. Linux RedHat 5.2 mySQL和Apache协同
  11. layui如何获取父节点的父节点_layui树形组件(右键、父节点选中子节点全被选中)...
  12. 修复Ubuntu 14.04中Chromium的Adobe Flash Player的问题
  13. PHP 大地坐标系转高德经纬度
  14. 普元:解读歼-20背后的国家安全重要领域信息化跨越
  15. 电脑回收站在哪里?回收站删除的文件怎么恢复?
  16. 零基础学Python需要用到哪些软件?
  17. 微信小程序开发:腾讯地图集成步骤(旧题新说)
  18. 详解SOME/IP测试
  19. Sex and Gender
  20. 初次入坑解析的小程序(决定写代码风格的小程序)

热门文章

  1. 《复杂》作者梅拉妮·米歇尔发文直指AI四大谬论,探究AI几度兴衰背后的根源...
  2. Android开发本地音乐获取专辑封面图片
  3. 新海诚没有参与制作的作品_全能的新海诚,最初几部作品都是他一个人完成的!但是却有缺陷!...
  4. Google Play 上架总结(二)Google账户关联详解
  5. git 下载代码到本地
  6. 互联网产品上线前,做些什么——产品、开发、测试的视角
  7. 火车头按照关键词采集文章的平台有哪些?亲测实录!
  8. R语言中写SQL语句
  9. ecshop图片自动本地化插件,ECSHOP下载商品图片,ECSHOP商品详情远程图片,ecshop商品远程图片保存,ecshop图片自动本地化插件,商品图片本地化
  10. 来美国一年半了,命里有时终须有,命里无时莫强求(2)