JavaScript王者归来05

本文详细介绍了JavaScript中销毁对象的方法,强调了消除所有外部引用的重要性,并通过实例展示了Math对象、Date对象以及Error对象的使用。同时,文章阐述了数组的构造、查找、添加、删除等基本操作,以及数组的特殊方法如join()、reverse()和sort()的应用。最后,通过示例演示了如何使用slice()方法创建数组片段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JavaScript中,要销毁一个对象.必须消除一个对象所有的外部引用.

JavaScript的存储单元回收机制采用的是引用计数法.具体来说就是当一个对象被创建.引用被存储在变量中.引用计数就为1.对该引用的各类操作会改变计数的值.当引用计数为0时.才会被销毁.所以,要即时销毁一个对象.直接的方法是将所有关于这个对象的引用都消除.
这里写图片描述

另外,需要特别注意,JavaScript的delete运算符和对象的销毁并没有直接的关系.delete也不是运算符的反操作.

JavaScript中的内置对象
JavaScript核心提供了丰富的内置对象
Math对象是一个静态对象.
如果Math静态方法出现数值计算错误,返回值为NaN.其他情况下.返回值为数值类型的计算结果.

Date对象
Date对象是JavaScript中用来表示日期和时间的数据类型.
第一种:缺省参数
var now=new Date;//省略了()
第二种
var d=new Date(1991,1,2)
以这种方式构造日期时应当注意.JavaScript中月份是从0开始计算的.所以构造出来的日期时2月2日
第三种
通过一个表示日期的字符串
car d=new Date(‘1991/01/01 12:00:01’);
注意,表示的是1月
第四种
不太常用的方法.通过一个整数参数来构造日期.这个整数代表的是距离
var todayDate=new Date();
得到当时的时间
var date=todayDate.getDate();
获取月份
var month=todayDate.getMonth()+1; //从0开始
获取日期
getDay() (这里可能记录有问题 )

Error对象
JavaScript的Error对象是用来在异常处理中保存异常信息.Error对象包含的属性有message及name.还有toString()方法

数组及数组元素
数组的构造
第一种方式是无参调用
var a=new Array();
创建的是一个没有元素的空数组
第二种方式是通过传递参数明确指定数组前N个元素的值.
第三种方式是通过传递参数明确指定数组前N个参数的值
var a=new Array(5,4,3,2,1,true)
这种构造方式的每一个参数都代表了一个元素值.可以是任何类型的.给数组赋值时时从元素0开始的.数组的length属性为传递给构造函数的参数个数

通过Array()构造数组的第三种方式是传递给他的一个数值参数.指定数组的长度
var a=new Array(10)
指定里面元素个数.但是每个值都是undefined.
要求数组的唯一参数是一个数值.如果唯一的参数是一个数值单不合法.会抛出异常.

直接调用array(){
retrun Array.apply(this,arguments);
//将传递给函数test()的参数列表转换为数组对象返回
}

数组常量
一般来说,直接用数组常量赋值要比用Array()构造数组的速度更快.
例如var a=[1,2,3];
如果跳过了下标为0的元素.直接设置arr[1],程序会默认将数组的长度设为2.并把调过的arr[0]的值设为undefined

数组对象和方法
查找方法
数组的length属性和数组下标结合.用来便利数组.检索指定元素
需要注意的是数组的length属性既可以读,又可以写.如果给length设置了一个比他当前值小的值.那么数组将会被阶段.这个长度之外的元素都会被抛弃.如果给length设置的值比当前的值大.那么新的,未初始化的元素就会被添加数组末尾.需要注意,delete操作虽然能够删除数组元素.但是不会删除数组的length属性.

添加和删除元素
Array原型的push()和pop()方法将数组看做是一种堆栈类型的数据结构.这种数据结构的特点是后进后出.使用push()方法可以在数组的末尾插入一个或多个元素.而使用pop方法可以一次弹出他们.
var a=new Array();
a.push(1); //插入末尾 数值为1
a.push(2,3,4); //插入2,3,4到末尾. 现在为1,2,3,4
var b=a.pop(); //将数组末尾的值弹出.现在b的值为4.数组的值[1,2,3]

shift和unshift方法是一对堆栈方法.作用于数组的头部
var a=new Array();
a.unshift(1); //在头部插入[1]
a.unshift(2,3,4) //数值一次插入数组头部.现在数组为[2,3,4,1]
var b =a.shift(); // 将数组头部值弹出. 现在b为2.a为[3,4,1]

集合操作极其规范
join() 方法可以把一个数组的所有元素都转换为字符串.然后在把他们连接起来.你可以指定一个选的字符串来分隔结果字符串的元素.如果没有,系统默认使用逗号
var a=[1,2,3];
var s=a.join(); //s值为1,2,3
var ss=a.join(”) //s值为123

join高效的应用是作为字符串缓存(stringBuffer)来用.因为Array的join方法构造字符串的整体效率要高于+运算符来连接字符串.

reverse()方法
颠倒数组元素的顺序.并返回颠倒后的数据.注意,在原数组上执行的操作.
var a=new Array(1,2,3);
a.reverse(); a为[3,2,1]

sort()
在原数组上对数组元素进行排序.可以接受一个参数.这个参数是比较两个元素值的一个闭包.可以缺省,那么将按照默认的规则进行排序.

concat()
concat方法创建并返回一个数组.这个数组包含了调用concat()的原始数组的元素.其后跟随的是concat的参数.如果有些参数是数组.那么将被展开.其元素将添加到返回的数组中..其元素被添加到返回的数组中.但是注意,concat()并不能递归的展开一个元素为数组的数组.
这里写图片描述

将参数列表追到到数组的末尾,可以采用前面提到过的Array()方法转换为Arguments对象为数组.或者利用concat方法的apply形式.

slice()方法
slice方法返回的是指定数组的一个片段.或者说是子数组
两个参数指定了要返回的片段的起止点.返回的数组包含第一个参数指定的元素和从哪个元素开始到第二个参数指定的元素位置的元素.前者是包含,后者不包含.如果缺省,那么返回的数组将包含从起始位置开始到原数组结束处的所有元素.
注意.负数也无妨.数组的slice方法可以当做拷贝函数来使用 var b=a.slice(0);

内容概要:《2024年中国城市低空经济发展指数报告》由36氪研究院发布,指出低空经济作为新质生产力的代表,已成为中国经济新的增长点。报告从发展环境、资金投入、创新能力、基础支撑和发展成效五个维度构建了综合指数评价体系,评估了全国重点城市的低空经济发展状况。北京和深圳在总指数中名列前茅,分别以91.26和84.53的得分领先,展现出强大的资金投入、创新能力和基础支撑。低空经济主要涉及无人机、eVTOL(电动垂直起降飞行器)和直升机等产品,广泛应用于农业、物流、交通、应急救援等领域。政策支持、市场需求和技术进步共同推动了低空经济的快速发展,预计到2026年市场规模将突破万亿元。 适用人群:对低空经济发展感兴趣的政策制定者、投资者、企业和研究人员。 使用场景及目标:①了解低空经济的定义、分类和发展驱动力;②掌握低空经济的主要应用场景和市场规模预测;③评估各城市在低空经济发展中的表现和潜力;④为政策制定、投资决策和企业发展提供参考依据。 其他说明:报告强调了政策监管、产业生态建设和区域融合错位的重要性,提出了加强法律法规建设、人才储备和基础设施建设等建议。低空经济正加速向网络化、智能化、规模化和集聚化方向发展,各地应找准自身比较优势,实现差异化发展。
数据集一个高质量的医学图像数据集,专门用于脑肿瘤的检测和分类研究以下是关于这个数据集的详细介绍:该数据集包含5249张脑部MRI图像,分为训练集和验证集。每张图像都标注了边界框(Bounding Boxes),并按照脑肿瘤的类型分为四个类别:胶质瘤(Glioma)、脑膜瘤(Meningioma)、无肿瘤(No Tumor)和垂体瘤(Pituitary)。这些图像涵盖了不同的MRI扫描角度,包括矢状面、轴面和冠状面,能够全面覆盖脑部解剖结构,为模型训练提供了丰富多样的数据基础。高质量标注:边界框是通过LabelImg工具手动标注的,标注过程严谨,确保了标注的准确性和可靠性。多角度覆盖:图像从不同的MRI扫描角度拍摄,包括矢状面、轴面和冠状面,能够全面覆盖脑部解剖结构。数据清洗与筛选:数据集在创建过程中经过了彻底的清洗,去除了噪声、错误标注和质量不佳的图像,保证了数据的高质量。该数据集非常适合用于训练和验证深度学习模型,以实现脑肿瘤的检测和分类。它为开发医学图像处理中的计算机视觉应用提供了坚实的基础,能够帮助研究人员和开发人员构建更准确、更可靠的脑肿瘤诊断系统。这个数据集为脑肿瘤检测和分类的研究提供了宝贵的资源,能够帮助研究人员开发出更准确、更高效的诊断工具,从而为脑肿瘤患者的早期诊断和治疗规划提供支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值