js中组合使用构造函数模式和原型模式创建对象

简介:
js中组合构造函数模式和原型模式创建对象是最常见的方法。
构造函数模式用于定义实例属性,原型模式用于定义方法和共享属性。优点如下
①每个实例都会有自己的一份实例属性的副本,又同时共享对方法的引用,最大限度地节省了内存。
②这种混合模式还支持向构造函数传递参数。

function Student(name,age,class){
 this.name = name;
 this.age = age;
 this.class = class;
 this.friends = ["Tom","Lily"];
}
Student.prototype = {
 constructor:Student,
 sayName : function(){
  alert(this.name);
 }
}
var s1 = new Student("xy1",23,"classA");
s1.friends.push("Jerry");
var s2 = new Student("xy2",23,"classB");
alert(s1.friends);
结果"Tom,Lily,Jerry";
alert(s2.friends);
结果"Tom,Lily"
alert(s1.friends == s2.friends);
结果false
alert(s1.sayName == s2.sayName);
结果false
 
这种方式创建对象,是目前使用最广泛,认同度最高的一种方式。甚至可以书是一种默认的模式。
本文转自IT徐胖子的专栏博客51CTO博客,原文链接http://blog.51cto.com/woshixy/966610如需转载请自行联系原作者

woshixuye111
相关文章
|
1月前
|
设计模式 JavaScript 前端开发
在JavaScript中,继承是一个重要的概念,它允许我们基于现有的类(或构造函数)创建新的类
【6月更文挑战第15天】JavaScript继承促进代码复用与扩展,创建类层次结构,但过深的继承链导致复杂性增加,紧密耦合增加维护成本,单继承限制灵活性,方法覆盖可能隐藏父类功能,且可能影响性能。设计时需谨慎权衡并考虑使用组合等替代方案。
37 7
|
25天前
|
设计模式 JavaScript
js设计模式【详解】—— 原型模式
js设计模式【详解】—— 原型模式
24 6
|
25天前
|
设计模式 JavaScript 前端开发
js设计模式【详解】—— 构造函数模式
js设计模式【详解】—— 构造函数模式
21 6
|
1月前
|
存储 前端开发 JavaScript
回调函数是JavaScript中处理异步编程的常见模式,常用于事件驱动和I/O操作。
【6月更文挑战第27天】回调函数是JavaScript中处理异步编程的常见模式,常用于事件驱动和I/O操作。它作为参数传递给其他函数,在特定条件满足或任务完成后被调用。例如,`asyncOperation`函数接受回调函数`handleResult`,模拟异步操作后,调用`handleResult`传递结果。这样,当异步任务完成时,`handleResult`负责处理结果。
17 1
|
1月前
|
设计模式 存储 JavaScript
【JavaScript】JavaScript对象设计哲学:八种模式塑造高效代码
【JavaScript】JavaScript对象设计哲学:八种模式塑造高效代码
20 5
|
2月前
|
JavaScript Java 测试技术
微信小程序基于BS模式的学生实习与就业管理springboot+vue.js附带文章和源代码设计说明文档ppt
微信小程序基于BS模式的学生实习与就业管理springboot+vue.js附带文章和源代码设计说明文档ppt
37 1
|
1月前
|
JavaScript 前端开发 安全
JS 严格模式和正常模式的区别
JS 严格模式和正常模式的区别
|
2月前
|
前端开发 JavaScript 中间件
基于最新koa的Node.js后端API架构与MVC模式
基于最新koa的Node.js后端API架构与MVC模式
57 1
|
1月前
|
JavaScript 前端开发
深入解析JavaScript中的面向对象编程,包括对象的基本概念、创建对象的方法、继承机制以及面向对象编程的优势
【6月更文挑战第12天】本文探讨JavaScript中的面向对象编程,解释了对象的基本概念,如属性和方法,以及基于原型的结构。介绍了创建对象的四种方法:字面量、构造函数、Object.create()和ES6的class关键字。还阐述了继承机制,包括原型链和ES6的class继承,并强调了面向对象编程的代码复用和模块化优势。
29 0
|
2月前
|
JavaScript
js中如何使用工厂方式和构造函数创建对象,web开发项目实例
js中如何使用工厂方式和构造函数创建对象,web开发项目实例