9.2 操作对象

2024-04-21 14:48
文章标签 操作 对象 9.2

本文主要是介绍9.2 操作对象,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、三个对象特性

  • 对象的原型(prototype):指向另外一个对象,本对象的属性继承自它的原型对象
  • 对象的类(class):是一个标识对象类型的字符串
  • 对象的扩展标记(extensible flag):指明了是否可以向该对象添加新属性

二、引用对象

  • 通过把对象的地址赋值给变量,实现变量对对象的引用。
  • 当把变量赋值给其他变量,则实现多个变量引用同一个对象。
  • 删除变量,只是删除变量对对象的引用,对象仍然存在

1.示例

        o={x:1,y:true}ol=o;alert(delete o); //删除变量,返回值为true,说明删除成功alert(ol.x);//读取对象内数据,显示为1,说明对象仍然存在alert(o.x);//使用o读取对象内的数据,提示没有定义对象

三、复制对象

  • 设计思路:利用for/in语句遍历对象成员,然后逐一复制给另一个对象

1.复制方法封装使用

       function F(x,y){this.x=x;this.y=y;this.add=function(){return this.x+this.y;}}//构造函数Function.prototype.extend=function(o){for(var i in o){this.constructor.prototype[i]=o[i];//this关键字指代当前示例对象,即本示例中的变量o;constructor属性指向它的构造器;prototype属性指向构造函数的原型对象。}}//该封装函数通过为Function类型对象拓展一个方法,该方法能够把指定的参数对象完全复制给当前对象(变量o)的构造函数的原型对象。var o = function(){};//创建空的构造函数o.extend(new F(2,3));//复制对象,该extend方法只能为构造函数结构复制对象

2.该复制方法的缺点

复制操作实际上是通过反射机制复制对象的所有可枚举属性和方法来模拟继承

  • 由于是反射机制,复制法不饿能继承非枚举类型的方法。对于系统核心对象的只读方法和属性也是无法继承的。
  • 通过反射机制来复制对象成员的执行效率会非常差。当对象结构越庞大时,这种低效越明显
  • 如果包含同名成员,这些成员可能会被动态复制所覆盖。

四、克隆对象
1.代码

       Function.prototype.clone=function(o){ //对象克隆方法function Temp(){}; //新建构造函数Temp.prototype=o; //把参数对象赋值给构造函数的原型对象return new Temp();//返回实例化后的对象}var o=Function.clone(new F(2,3));//调用Function对象的克隆方法

2.克隆对象的优点

  • 比起复制对象的方法,更高效

五、销毁对象

  • 当对象没有被任何变量引用时,JavaScript会自动侦测,并运行垃圾回收程序把这些对象注销,一释放内存。
  • 当把对象的所有引用变量设置为null时,可以强制对象处于废除状态,并被回收。
var o={};
o=null;
alert(o.x);//提示系统错误,找不到对象

这篇关于9.2 操作对象的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/923339

相关文章

Python正则表达式匹配和替换的操作指南

《Python正则表达式匹配和替换的操作指南》正则表达式是处理文本的强大工具,Python通过re模块提供了完整的正则表达式功能,本文将通过代码示例详细介绍Python中的正则匹配和替换操作,需要的朋... 目录基础语法导入re模块基本元字符常用匹配方法1. re.match() - 从字符串开头匹配2.

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

使用Python的requests库来发送HTTP请求的操作指南

《使用Python的requests库来发送HTTP请求的操作指南》使用Python的requests库发送HTTP请求是非常简单和直观的,requests库提供了丰富的API,可以发送各种类型的HT... 目录前言1. 安装 requests 库2. 发送 GET 请求3. 发送 POST 请求4. 发送

使用Java读取本地文件并转换为MultipartFile对象的方法

《使用Java读取本地文件并转换为MultipartFile对象的方法》在许多JavaWeb应用中,我们经常会遇到将本地文件上传至服务器或其他系统的需求,在这种场景下,MultipartFile对象非... 目录1. 基本需求2. 自定义 MultipartFile 类3. 实现代码4. 代码解析5. 自定

Python使用python-pptx自动化操作和生成PPT

《Python使用python-pptx自动化操作和生成PPT》这篇文章主要为大家详细介绍了如何使用python-pptx库实现PPT自动化,并提供实用的代码示例和应用场景,感兴趣的小伙伴可以跟随小编... 目录使用python-pptx操作PPT文档安装python-pptx基础概念创建新的PPT文档查看

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据

MySQL 临时表与复制表操作全流程案例

《MySQL临时表与复制表操作全流程案例》本文介绍MySQL临时表与复制表的区别与使用,涵盖生命周期、存储机制、操作限制、创建方法及常见问题,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随小... 目录一、mysql 临时表(一)核心特性拓展(二)操作全流程案例1. 复杂查询中的临时表应用2. 临时