1、工厂模式

function createPerson(name, job) {var o = new Object()o.name = nameo.job = jobo.sayName = function() {console.log(this.name)}return o
}
var person1 = createPerson('Jiang', 'student')
var person2 = createPerson('X', 'Doctor')

2、构造函数模式

function Person(name, job) {this.name = namethis.job = jobthis.sayName = function() {console.log(this.name)}
}
var person1 = new Person('Jiang', 'student')
var person2 = new Person('X', 'Doctor')

3、原型模式

function Person() {
}
Person.prototype = {name: 'jiang',job: 'student',sayName: function() {console.log(this.name)}
}
var person1 = new Person()

4、组合使用构造函数模式和原型模式

function Person(name) {this.name = namethis.friends = ['Shelby', 'Court']
}
Person.prototype.sayName = function() {console.log(this.name)
}
var person1 = new Person()
var person2 = new Person()
person1.friends.push('Van')
console.log(person1.friends)  //["Shelby", "Court", "Van"]
console.log(person2.friends) // ["Shelby", "Court"]
console.log(person1.friends === person2.friends) //false

5、动态原型模式

function Person(name, job) {// 属性this.name = namethis.job = job// 方法if(typeof this.sayName !== 'function') {Person.prototype.sayName = function() {console.log(this.name)}}}
var person1 = new Person('Jiang', 'Student')
person1.sayName()

6、寄生构造函数模式

function Person(name, job) {var o = new Object()o.name = nameo.job = jobo.sayName = function() {console.log(this.name)}return o
}
var person1 = new Person('Jiang', 'student')
person1.sayName()

7、稳妥构造函数模式

function Person(name, job) {var o = new Object()o.name = nameo.job = jobo.sayName = function() {console.log(name)}return o
}
var person1 = Person('Jiang', 'student')
person1.sayName()

文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识

JS 创建对象的七种方式相关推荐

  1. js创建对象的七种方式

    JavaScript创建对象的方式有很多,通过Object构造函数或对象字面量的方式也可以创建单个对象,显然这两种方式会产生大量的重复代码,并不适合量产.接下来介绍七种非常经典的创建对象的方式,他们也 ...

  2. js 创建对象的几种方式

    在 js 中可以通过 Object 构造函数或对象字面量来创建对象,但是这些方式在创建具有同样接口的多个对象需要重复编写很多代码. 因此,便有了几种常见的创建对象的模式,它们分别有着各自的优缺点,可以 ...

  3. js创建对象的几种方式-转载

    1.工厂模式 弊端:没有解决对象的识别问题,即怎么知道一个对象的类型.  2.构造函数模式   与工厂模式相比:  1.没有显式的创建对象  2.直接将属性和方法赋给了this对象  3.没有retu ...

  4. python中创建对象的七种方式

    Python语言提供了多种创建对象的方式,这里列出其中方式,比如下面有一个类: class Bar:def __init__(self,x):print(x)self.x=x 方式一: 传统方式构建, ...

  5. js创建对象的几种方式(推荐)

    1.通过对象字面量创建 var a = {}; //最简单最直接的方法,是第二种的简写方式 2.通过object构造函数创建 var a = new Object(); // 这行代码创建了Objec ...

  6. js创建对象的几种方式

    1.通过new object方法或者字面量的方式创造对象 var obj = new Object() var obj1 = {} 缺点:创造多个key同,value不同的对象的时候会产生大量的重复代 ...

  7. Vue.js 定义组件模板的七种方式

    转载自  Vue.js 定义组件模板的七种方式 在 Vue 中定义一个组件模板,至少有七种不同的方式(或许还有其它我不知道的方式): 字符串 模板字面量 x-template 内联模板 render ...

  8. JS 面向对象 ~ 创建对象的 9 种方式

    一.创建对象的几种方式 1.通过字面量创建 var obj = {};这种写法相当于:var obj = new Object(); 缺点:使用同一个接口创建很多单个对象,会产生大量重复代码 2.通过 ...

  9. 课程介绍 复习 创建对象的三种方式 自定义构造函数创建对象 工厂模式创建对象

    课程介绍 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8 ...

最新文章

  1. Linux运维:ulimit命令修改打开文件的句柄数
  2. 解决IntelliJ IDEA 2019.3.5 启动无反应
  3. PHP微信公众平台源码 支持多账号 仿pigcms 小猪微信 已经修改完毕 完整可用
  4. Spring Boot系列教程七:Spring boot集成MyBatis
  5. shell训练营Day27
  6. 机战 mysql_机战完整端-加配套网站-架设说明-配套工具
  7. Java Socket编程基础实例
  8. 电脑死机大全,看完你就是高手了
  9. RHEL6.1 去掉开机总是提示注册啊,去掉rhsm-compliance-icon小图标
  10. 人人开源(快速搭建项目)
  11. tomcat乱码怎么解决
  12. 2020届秋招中兴笔试题
  13. KEIL5打开KEIL4工程的方法
  14. 【实用】SAP成本组件分割价格取数逻辑
  15. 谢特——后缀数组+tire 树
  16. Django 编写您的第一个Django应用
  17. Linux串口通信之termios结构体说明
  18. Wibbitz:根据网页文字生成在线视频(转)
  19. MMAction2学习笔记 使用C3D训练测试自己的数据集
  20. LaSO: Label-Set Operations networks for multi-label few-shot learning 论文笔记

热门文章

  1. [问题]魔兽双击地面回到选中的单位
  2. Halcon: 畸变矫正与标定(1)
  3. 全国职业院校技能大赛软件测试题目,我校喜获2018全国职业院校技能大赛“软件测试”赛项一等奖...
  4. mysql 数据库名称限制_mysql 数据库名称限制
  5. python逻辑量有什么_Python中的逻辑运算符有什么?
  6. java将xml中的标签名称转为小写_深入学习Java Web(七): JSTL标签库
  7. sigmoid函数的数值稳定性
  8. 【论文阅读】Illuminating Pedestrians via Simultaneous Detection Segmentation
  9. android自定义画板,android 自定义控件 -- 画板
  10. 大一大学计算机考试难吗,新生必看!大一期间必考的3个证书,不考后悔,越拖越难考!...