JavaScript从入门到精通系列第二十三篇:JavaScript中的数组

前言

1:对象的分类

     在JavaScript中,对象可以分为以下几种类型:

  1. 内置对象:这些对象是由JavaScript引擎提供的,如Object、Array、String、Date、RegExp等。

  2. 宿主对象:这些对象是由宿主环境(浏览器、Node.js等)提供的,在不同的环境下可能有所不同,如window、document、XMLHttpRequest等。

  3. 自定义对象:这些对象是由程序员自己创建的,使用构造函数或字面量语法创建,可以根据需求自定义属性和方法。

  4. 原生对象:也称封装对象,是内置对象的包装器,提供了一些额外的功能,如Number、String、Boolean、Function、Array、RegExp等,主要作用是方便使用原始值时调用对象的方法。

  5. 对象实例:也称对象,是通过构造函数创建的对象实例,每个实例都有自己的属性和方法

        在我们的实际开发当中,我们使用的大部分还是内置对象和宿主对象。自定义对象使用的很少

2:数组的对象分类

        数组也是一个对象,属于内置对象。其中使用索引,数组的存储性能比我们的对象性能要好,在我们开发中我们使用数组来存储一些对象。

一:数组对象

1:数组对象创建

var arr = new Array();
console.log(typeof arr); //object

2:向数组中添加元素

arr[1] = 10;

3:数组中读取元素

var a = arr[2];

如果读取不存在的索引,就会得到undefined

4:读取数组长度

        这是一个属性,也就是元素的个数。当然,元素个数得是连续的数据,也就是索引中间不能有空值。

console.log(arr.length);

        通过arr.length()会删除多余元素或者添加空元素。慎用! 

二:数组字面量

1:数组对象可以做一切对象做的事

var arr = new Array();
arr[0] =123;
arr.hello = "abc";

        数组也是对象,我们可以往上添加属性,但是没有任何意义。 

2:数组字面量创建对象

var obj = [1,2,3,4];

3:构造函数创建对象直接添加元素

var obj = (10,20,30);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/115613.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Fiber Golang:Golang中的强大Web框架

揭示Fiber在Go Web开发中的特点和优势 在不断发展的Web开发领域中,选择正确的框架可以极大地影响项目的效率和成功。介绍一下Fiber,这是一款令人印象深刻的Golang(Go语言)Web框架。以其飞快的性能和强大的特性而闻名,…

【算法训练-动态规划 一】【应用DP问题】零钱兑换、爬楼梯、买卖股票的最佳时机I、打家劫舍

废话不多说,喊一句号子鼓励自己:程序员永不失业,程序员走向架构!本篇Blog的主题是【动态规划】,使用【数组】这个基本的数据结构来实现,这个高频题的站点是:CodeTop,筛选条件为&…

VR虚拟现实技术在法院技能培训中的应用

开展法治宣传教育,是全面贯彻落实科学发展观的重要决策,也是保障和促进经济设备会发展和实施“十一五”规划的内在要求。为了让全民法治文化宣传深入人们群众中,突破性地采用VR虚拟现实、web3d开发和三维仿真技术,开发线上法治文化…

大数据技术学习笔记(二)—— Hadoop运行环境的搭建

目录 1 准备模版虚拟机hadoop1001.1 修改主机名1.2 修改hosts文件1.3 修改IP地址1.3.1 查看网络IP和网关1.3.2 修改IP地址 1.4 关闭防火墙1.5 创建普通用户1.6 创建所需目录1.7 卸载虚拟机自带的open JDK1.8 重启虚拟机 2 克隆虚拟机3 在hadoop101上安装JDK3.1 传输安装包并解压…

<蓝桥杯软件赛>零基础备赛20周--第1周

报名明年4月蓝桥杯软件赛的同学们,如果你是大一零基础,目前懵懂中,不知该怎么办,可以看看本博客系列。 每个周末发1个博客,共20周,到明年3月初结束。跟上本博客的节奏,省赛三等奖跑不掉。 每周3…

[QT] 如果你怎么试HTTP下载文件得到的QNetworkReply的readAll()都是空数据(长度为0),请看这里

1,首先你对比看看QT官方给出的例子 Download Data from URL - Qt Wiki 2,再看看是不是要设置重定向,如果要,要设置一下 QNetworkRequest request(imageUrl); request.setAttribute(QNetworkRequest::FollowRedirectsAttribute, …

torch张量的降维与升维

文章目录 一、降维和升维未完待续....一、降维和升维 squeeze和unsqueeze是torch张量常用的降维与升维的一种方式,但这种方式只能增添或减少大小为1的维度,如下: x1 = torch.randn(1, 8, 256, 256) x1 = torch.squeeze(x1,dim=

Linux高性能服务器编程——ch6笔记

第6章 高级I/O函数 6.1 pipe函数 用于创建一个管道,以实现进程间通信。 int pipe(int fd[2]); 读端文件描述符fd[0]和写端文件描述符fd[1]构成管道的两端,默认是阻塞的,fd[0]读出数据,fd[1]写入数据。管道内部传输的数据是字节…

Nvidia显卡基础概念介绍

一、PCIe与SXM 1.1 Nvidia GPU PCIe PCIe(peripheral component interconnect express)是一种高速串行计算机扩展总线标准,是英特尔公司在2001年提出来的,它的出现主要是为了取代AGP接口,优点就是兼容性比较好,数据传输速率高、…

【Java】ListIterator

列表迭代器: ListIterator listIterator():List 集合特有的迭代器该迭代器继承了 Iterator 迭代器,所以,就可以直接使用 hasNext()和next()方法。特有功能: Object previous():获取上一个元素boolean hasPr…

【PG】数据库管理

查看现有数据库 SELECT datname FROM pg_database;或者 \l创建数据库 create database name;

Zabbix告警与飞书集成

一、配置媒介 1、下载飞书的Zabbix媒介类型如下: zbx_export_mediatype_feishu.xml 2、Zabbix中导入媒介类型 Zabbix Web中选择管理 > 报警媒介,然后导入该媒介类型。导入规则选择“更新现有的”和“创建新的”。 3、配置飞书媒介类型用户 Zabbi…

从一个webpack loader中学习

chalk:给终端输出加一些自定义的样式 loader-utils:webpack的loader配置中会通过options传入一些用户自定义参数,就可以通过该包提供的getoptions()获取 node-fetch:Node.js的模块,用于从远程服务器获取数据 关于bab…

口袋参谋:如何一键获取竞品数据?这招实用!

​在淘宝天猫上开店,市场竞争日益激烈,想要做好店铺,我们就不得不去分析竞品的数据了。 很多卖家开店后,一上来就直接卡在类目前10,折腾了一两个月才发现自己对标错了对象,最终竹篮打水一场空。 所以&…

uni-app:实现时钟自走(动态时钟效果)

效果 核心代码 使用钩子函数 mounted(),设置定时器,是指每秒都要去执行时间的获取,以至于实现时间自走的效果 mounted() { this.updateTime(); // 初始化时间 setInterval(this.updateTime, 1000); // 每秒更新时间 }, 自定义方法…

2023年赋能更多的人

最近接触到一些新人,是真正的网络新人,慢慢理解了新人的困惑。 对于新人,每天获取的信息五花八门,这是好的也是极其不好的。因为他们不知道如何筛选,到底适不适合自己去做。 我一直在劝大家去做一些内容创造性的事情…

小程序点击更多上拉显示选项

1、写一个两个按钮 2、给两个按钮加动画的样式 3、写方法控制两个按钮的显示 <button class"more-button" bindtap"toggleMoreOptions">更多</button><!-- 按钮列表容器&#xff0c;初始状态设置为隐藏 --> <view class"option…

Ubuntu22.04系统 Cgroup v2 切换成v1

使用v1导致docker容器启动失败 Failed to mount cgroup at /sys/fs/cgroup/systemd: Operation not permitted Issue #4072 lxc/lxc GitHub https://github.com/lxc/lxc/issues/4072 原因&#xff1a;ubuntu自21.04版本后的版本&#xff08;不包含21.04&#xff09;linux内…

QT判断平台和生成版本设置输入目录

QT判断平台和生成版本设置输入目录 pro工程文件中常用的宏定义Chapter1 QT判断平台和生成版本设置输入目录Chapter2 Qt pro文件中判断 x86/arm(aarch64)交叉编译环境&#xff0c;区分 linux/windows系统, debug/release版本Chapter3 Qt的版本判断、跨平台选择与pro工程文件输出…

2015款MacBook Pro从Big Sur升级到Monterey

机器信息 存储是1TB的固态硬盘。 升级后的使用体验 开机速度 比之前Big Sur系统开机时间快了至少三分之一&#xff08;进入系统的进度条停顿时间很短&#xff0c;未升级之前&#xff0c;进度条加载缓慢&#xff0c;动不动就停顿半天&#xff09; 应用app使用情况 从Big Su…