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

 

这种方式创建对象,是目前使用最广泛,认同度最高的一种方式。甚至可以书是一种默认的模式。

 

 

目录
相关文章
|
C语言
C语言位运算符详解
C语言位运算符详解
447 0
|
11月前
|
Serverless 计算机视觉
语义分割笔记(三):通过opencv对mask图片来画分割对象的外接椭圆
这篇文章介绍了如何使用OpenCV库通过mask图像绘制分割对象的外接椭圆。首先,需要加载mask图像,然后使用`cv2.findContours()`寻找轮廓,接着用`cv2.fitEllipse()`拟合外接椭圆,最后用`cv2.ellipse()`绘制椭圆。文章提供了详细的代码示例,展示了从读取图像到显示结果的完整过程。
227 0
语义分割笔记(三):通过opencv对mask图片来画分割对象的外接椭圆
|
11月前
【Flutter】状态管理:Provider状态管理
【Flutter】状态管理:Provider状态管理
294 0
|
传感器 编解码 安全
智能物联网码垛机械臂设计
一、题目 智能物联网码垛机械臂设计 二、技术参数 1.机械设计,电路设计协同设计。 2.通过串口通信实现与电脑上位机的通信。 3.通过esp8266实现无线网络通信,完成对机械臂的控制。 三、设计任务及要求 1.完成机械结构设计与三维建模。 2.完成对机械臂的基础控制。
|
机器学习/深度学习 人工智能 算法
谈谈创意设计中的AI、AGI、AIGC
创意设计领域在AI、AGI和AIGC的影响下正经历深刻变革。AI通过机器学习辅助设计,从市场分析到后期优化,提高设计师效率。AGI潜在地模仿人类创造力,可能开启全新设计时代。AIGC生成内容速度快,但也面临创意局限性和法律问题。Adobe国际认证提供权威技能验证,帮助设计师适应新技术,提升行业标准和国际交流。
|
数据采集 机器学习/深度学习 人工智能
云服务器可以用来做什么?云服务器使用场景列举
阿里云服务器经常推出一些拼团或者秒杀活动,很多同学看价格不错就抢了。可是云服务器买到手却不知道做什么,新手站长网列举云服务器常见的使用场景,方便大家参考,别再让你的云服务器吃灰了
2236 1
|
安全 物联网 视频直播
支付设计白皮书:亚太各个国家的主要支付方式梳理
支付设计白皮书:亚太各个国家的主要支付方式梳理
458 0
|
存储 弹性计算 固态存储
阿里云服务器是如何收费的?阿里云服务器各收费项目收费标准参考
阿里云服务器收费标准包括实例价格、预留实例券价格、专有宿主机、块存储价格、存储容量单位包、带宽价格、快照服务价格等,云服务器价格主要由云服务器配置费用+磁盘价格+网络宽带价格,配置指的是云服务器的实例规格和cpu与内存配置,本文为大家分享一下2023年阿里云服务器所有收费项目的最新收费标准,以表格形式展示给大家,以供参考。
阿里云服务器是如何收费的?阿里云服务器各收费项目收费标准参考
|
域名解析 前端开发 JavaScript
浏览器是干什么的?底层原理是什么?
浏览器是干什么的?底层原理是什么?
623 0
|
Web App开发 算法 安全
计算机操作系统——操作系统概述(学习笔记)
控制和管理整个计算机系统的硬件和软件资源 合理地组织调度计算机的工作和资源分配 提供给用户和其他软件方便的接口和环境 计算机系统中最基本的系统软件
624 0
计算机操作系统——操作系统概述(学习笔记)