iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JavaScript的引用数据类型你了解多少
  • 482
分享到

JavaScript的引用数据类型你了解多少

2024-04-02 19:04:59 482人浏览 独家记忆
摘要

目录三种传递1、Object1、创建对象语法2、普通对象在内存中的存储方式2、Array1、创建数组语法2、数组的在内存中的存储方式3、数组常用方法1、 concat:用于拼接为新数

三种传递

  • 数据传递:变量传递给另外一个变量
  • 值传递:会把数据复制一份传递,(简单类型
  • 引用传递:会把数据地址复制一份传递,(引用类型)

1、Object

【解释】: Object 是内置的构造函数,用于创建普通对象。

1、创建对象语法

字面量创建对象示例

let obj = {
			uname : '阿飞',
			age : 22,
			sex : '男'
		}

构造函数创建

// Object:创建普通对象的构造函数
let obj = new Object( {uname : '阿飞', age : 22, sex : '男'} );

对象所有键的获取

let re = Object.keys(obj)

对象所有值的获取

let re = Object.values(obj);

2、普通对象在内存中的存储方式

普通对象数据保存在堆内存之中,栈内存中保存了普通对象在堆内存的地址。

在这里插入图片描述

普能对象在赋值时只是复制了栈内中的地址,而非堆内存中的数据 [普通对象赋值后,无论修改哪个变量另一个对象的数据值也会相当发生改变。]

在这里插入图片描述

【小结】:

  1. 推荐使用字面量方式声明对象,而不是 Object 构造函数
  2. Object.assign 静态方法创建新的对象
  3. Object.keys 静态方法获取对象中所有属性
  4. Object.values 表态方法获取对象中所有属性值

【堆与栈的区别】:

  • 堆和栈是内存中的数据存储空间
  • 简单类型的数据保存在内存的栈空间中
  • 引用类型的数据保存在内存的堆空间中,栈内存中存取的是引用类型的地址(房间号)

2、Array

1、创建数组语法

字面量

let arr = [1, 2, 3];

构造函数

let ary = new Array(1, 2, 3);

2、数组的在内存中的存储方式

数组在内存中的存储方式与普通对象一样

在这里插入图片描述

数组在赋值时只是复制了栈内中的地址,而非堆内存中的数据

在这里插入图片描述

3、数组常用方法

1、 concat:用于拼接为新数组

		let arr = [1, 2, 3];
		let ary1 = ['a', 'b', 'c', 'd'];
		let ary2 = [11, 222, 333];
		let reArr = arr.concat(ary1, ary2, '张飞', '关羽', '赵云');
		console.log(reArr);

2、 join():用于连接数组的每个元素成为字符串

		let arr1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'];
		let str = arr1.join('');
		console.log(str);

3、 reverse:翻转数组顺序

		let arr3 = [1, 2, 3];
		let re = arr.reverse();
		console.log(re);

4、 indexOf:查找某个元素在数组中首次出现的索引位置,找不到就是返回-1

        let arr1 = ['a', 'b', 'c', 'd', 'a', 'b', 'f'];
		let re1 = arr1.indexOf('a');
		console.log(re1);

5、 lastIndexOf:查找某个元素在数组中尾次出现的索引位置,找不到就返回-1

		let re2 = arr1.lastIndexOf('b');
		console.log(re2);

6、 sort正序排列

		let arr2 = [3, 16, 22, 66, 123, 99];

		// sort正序排列:
		let re3 = arr2.sort(function (a, b) {
			return a - b;
		});

7、 sort倒序排列

		// sort倒序排列
		let arr2 = [3, 16, 22, 66, 123, 99];
		let re4 = arr2.sort(function (a, b) {
			return b - a;
		});

8、 判断一个值是否是数组

		let a = [1, 2, 3];
		let re = Array.isArray(a);
		console.log(re);

9、 把伪数组转换为真数组 Array.from(伪数组)

// 特别注意:要想把伪数组转换为真数组必须有length属性
		let o = {
			0 : 'a',
			1 : 'b',
			2 : 'c',
			3 : 'd',
			4 : 'e',
			5 : 'f',
			6 : 'h',
			length : 4,
		}

		let ary = Array.from(o);

		console.log( ary );

10、forEach遍历数组

		let arr = [
					{uname :'阿飞', age : 22, sex : '男'},
					{uname :'张三丰', age : 23, sex : '男'},
					{uname :'李寻欢', age : 21, sex : '男'},
					{uname :'张三丰1', age : 23, sex : '男'},
					{uname :'李寻欢1', age : 21, sex : '男'},
					{uname :'张三丰2', age : 23, sex : '男'},
					{uname :'李寻欢2', age : 21, sex : '男'},
					{uname :'张三丰2', age : 23, sex : '男'},
					{uname :'李寻欢2', age : 21, sex : '男'},
				];
		arr.forEach( item => {
			console.log(`姓名:${item.uname},年龄${item.age},性别${item.sex}`);
		} );

11、find:用于查找首次出现的满足条件的值,并返回

		let re = [2, 6, 4, 7, 9, 3];
		let result = re.find(function (item, index, o) {
			return item > 5;
		})
		console.log(result);

12、findIndex:用于查找首次出现的满足条件的值,并返回期所在索引值 没有则返回-1

		let result1 = re.findIndex(function (item, index, o) {
			return item > 40;
		});
		console.log(result1);

13、some:用于查找如果有一个满足条件返回true

		let result2 = re.some(function (item, index, o) {
			return item > 5;
		})
		console.log(result2);

14、every:用于查找满足条件的元素,如果都满足返回true,否则就是false

		let result3 = re.every(function (item, index, o) {
			return item > 5;
		});
		console.log(result3);

15、filter:筛选数组把满足条件的元素放到新数组返回

		let result4 = re.filter(function (item, index, o) {
			return item > 5;
		});
		console.log(result4);

16、map:遍历数组让每个元素执行一边回调函数,把所有结果放到新数组返回

		let result5 = re.map(function (item, index, o) {

			return item * item;

		});
		console.log(result5);

3、RegExp正则

1、创建语法

字面量

let reg = /abc/;

构造函数

let reg1 = new RegExp(/abc/);

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!  

--结束END--

本文标题: JavaScript的引用数据类型你了解多少

本文链接: https://www.lsjlt.com/news/138905.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript的引用数据类型你了解多少
    目录三种传递1、Object1、创建对象语法2、普通对象在内存中的存储方式2、Array1、创建数组语法2、数组的在内存中的存储方式3、数组常用方法1、 concat:用于拼接为新数...
    99+
    2022-11-13
  • JavaScript的数据类型你了解多少
    JavaScript的数据类型你了解多少,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 前言作为JavaScript...
    99+
    2022-10-19
  • Java数据类型索引的优势与不足,你了解多少?
    Java是一种强类型语言,这意味着每个变量都必须在编译时声明其类型。Java中有多种数据类型,包括基本数据类型和复合数据类型。在Java中,数据类型索引是一种非常重要的概念。在本文中,我们将讨论Java数据类型索引的优势与不足。 一、Jav...
    99+
    2023-08-25
    数据类型 索引 spring
  • PHP并发编程的数据类型,你了解多少?
    随着互联网应用的快速发展,越来越多的Web应用需要处理大量的请求和数据。对于PHP开发者来说,如何实现高效的并发处理是一个不可避免的问题。在这篇文章中,我们将会讲解PHP并发编程中的数据类型,以及如何使用它们来实现高效的并发处理。 一、P...
    99+
    2023-11-11
    并发 数据类型 分布式
  • python数据类型中的字符串你了解多少
    目录一、字符串创建二、字符串的下标str[beg:end]三、字符串的切片:slice(start, stop[, step])四、字符串格式化:# %s——...
    99+
    2022-11-13
  • Python中的数据类型打包技巧,你了解多少?
    Python是一门高级编程语言,拥有许多强大的特性和工具,其中一个重要的特性就是数据类型。Python中的数据类型非常丰富,包括整数、浮点数、布尔值、字符串、列表、元组、字典等。在实际编程中,我们经常需要将多个数据打包成一个整体,这时候就需...
    99+
    2023-10-13
    数据类型 打包 shell
  • JavaScript的对象和包装类你了解多少
    目录一、对象1.1 描述对象1.2 属性的增删改查(以下需要在控制台输入)1.3 对象的创建方法1.3.1 字面量1.3.2 构造函数1.3.3 Object.create(原型)方...
    99+
    2022-11-13
  • javascript有多少种数据类型
    这篇文章将为大家详细讲解有关javascript有多少种数据类型,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。javascript有9种数据类型,分别为:字符串(String)、数字(Number)、布尔...
    99+
    2023-06-14
  • javascript的构造函数,原型,原型链和new你了解多少
    目录1、什么是构造函数?2、如何通过构造函数创建一个对象?3、new一个对象的过程发生了什么?4、什么是原型?5、原型、构造函数、实例的关系?6、什么是原型链?7、类?总结1、什么是...
    99+
    2022-11-13
  • JavaScript基本数据类型转换你了解嘛
    目录前言转换为数字Number(string)方法parseInt(string,radix)parseFloat(string)隐式转换转换为字符串toString()String...
    99+
    2022-11-13
  • java定义了多少个数据类型
    小编给大家分享一下java定义了多少个数据类型,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Java 定义了8个简单(或基本)的数据类型:字节型(byte ),短...
    99+
    2023-06-03
  • javascript有多少中数据类型转换
    这篇文章给大家分享的是有关javascript有多少中数据类型转换的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 javascript的两种数据类型转...
    99+
    2022-10-19
  • C++中类模板的应用你了解多少
    目录类模板应用数组类的封装Int的.hpp文件int的测试文件Person类的.hpp文件Person类的测试文件总结类模板应用 数组类的封装 属性: 1,T *pAddress 指...
    99+
    2022-11-13
  • C++的数据类型你真的了解吗
    目录前言1 整型2 sizeof关键字3 实型(浮点型)4 字符型5 转义字符6 字符串型7 布尔类型 bool8 数据的输入总结前言 C++不像python,创建变量的时候必须指定...
    99+
    2022-11-13
  • 用表格帮你了解Python数据类型
    目录变量字符串数字数字转字符串注释总结变量 方法举例备注用变量存储值name = "xxx"print("name ", name )小写字母...
    99+
    2022-11-12
  • PHP编程中的数据类型:你了解了吗?
    在PHP编程中,数据类型是非常重要的一部分。正确使用数据类型可以提高程序的效率和可读性,避免不必要的错误和问题。本文将介绍PHP中常见的数据类型,并演示一些代码来帮助你更好地理解它们。 基本数据类型 PHP中的基本数据类型包括整型(i...
    99+
    2023-09-10
    编程算法 学习笔记 数据类型
  • 你了解ASP中的HTTP数据类型吗?
    ASP(Active Server Pages)是一种基于服务器端的脚本语言,它可以用来构建动态网站。在ASP中,HTTP数据类型是非常重要的一个概念。本文将为大家详细介绍ASP中的HTTP数据类型。 一、HTTP数据类型概述 HTTP(H...
    99+
    2023-08-11
    数据类型 http 自然语言处理
  • java读写串口数据你了解多少
    目录1.导入支持java串口通信的jar包:2.编写代码操作串口:总结最近接触到了串口及其读写,在此记录java进行串口读写的过程。 1.导入支持java串口通信的jar包: 在ma...
    99+
    2022-11-13
  • Java在大数据时代的应用,你了解多少?
    随着时代的发展,大数据已经成为了一个不可忽视的领域。在大数据时代,Java作为一种稳定、高效的编程语言,得到了广泛的应用和推广。本文将从大数据的概念入手,介绍Java在大数据时代的应用,并通过演示代码来进一步加深理解。 一、大数据的概念 ...
    99+
    2023-10-09
    大数据 windows 框架
  • 选方向?大数据的职位你了解多少
    这是大数据入门常识第二篇,主要讨论大数据工作的方向问题。第一篇没看的同学可以补一下: 3000字长文教你大数据该怎么学! 有不少刚入门的同学在后台会问类似这样的问题 看招聘网站上,大数据相关的方向好多,不知道自己适合哪个怎么办...
    99+
    2021-10-26
    选方向?大数据的职位你了解多少
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作