潜说js对象和数组

潜说JS对象和数组

介绍

在JavaScript中,对象和数组是两种重要的数据类型。对象是包含键值对的数据结构,而数组是具有有序、可变长度的列表。这两种数据类型在日常编程中经常被用到,我们来学习一些其基础知识和使用方法。

JS对象

JS对象是一种包含属性的数据结构。属性由键值对表示。对象本身也可以被继承来创建新的对象。

对象可以通过两种方式创建:字面量创建和构造函数创建。

  • 使用字面量创建对象
const person = {
  name: 'Alice',
  age: 21,
  gender: 'female',
  'place-of-birth': 'New York'
};

console.log(person.age); // 21
console.log(person['place-of-birth']); // New York

键值对是对象的基本单位,它们由一个键和一个值组成。键和值之间使用冒号分隔,每个键值对之间使用逗号分隔。

可以使用点(.)或方括号([])访问对象的属性。对于带有特殊字符的属性名,只能使用方括号语法访问。

  • 使用构造函数创建对象
function Person(name, age, gender, placeOfBirth) {
  this.name = name;
  this.age = age;
  this.gender = gender;
  this.placeOfBirth = placeOfBirth;
}

const person = new Person('Alice', 21, 'female', 'New York');
console.log(person.name); // Alice

我们可以通过JavaScript中的原型链来实现对象的继承。比如:

function Animal(name) {
  this.name = name;
}

Animal.prototype.sayName = function() {
  console.log('My name is ' + this.name);
}

function Dog(name) {
  Animal.call(this, name);
}

Dog.prototype = Object.create(Animal.prototype);

const dog = new Dog('Buddy');
dog.sayName(); // My name is Buddy

JS数组

JS数组是一组有序的数据集合,每个元素可以是任意类型的数据,包括对象和数组。

  • 创建数组
const arr1 = [1, 2, 3];
const arr2 = new Array(1, 2, 3);

两种方式都可以创建一个含有1、2、3三个元素的数组。

注意:如果只提供一个参数,则创建一个元素个数为该值的空数组;如果提供多个参数,则创建一个元素包含这些参数的数组。

  • 访问数组元素
const fruits = ['apple', 'banana', 'orange'];

console.log(fruits[0]); // apple
console.log(fruits[1]); // banana
console.log(fruits[2]); // orange

数组下标从0开始。可以使用方括号中的下标来访问数组元素。

  • 变更数组元素
const fruits = ['apple', 'banana', 'orange'];
fruits[0] = 'pear';
console.log(fruits); // ['pear', 'banana', 'orange']

可以使用方括号中的下标来修改数组元素的值。

  • 数组长度
const fruits = ['apple', 'banana'];

console.log(fruits.length); // 2

fruits.length = 10;
console.log(fruits.length); // 10

可以通过数组的length属性来获取当前数组的元素个数。也可以通过修改length属性增加或删除数组的元素。

示例1:使用对象创建一个简单的键值对表示法

const person = {
  name: 'Alice',
  age: 21,
  gender: 'female',
  'place-of-birth': 'New York',
  grades: {
    math: 90,
    english: 80,
    science: 95
  }
};

console.log(person.grades.math); // 90

上述例子中,grades 对象作为 person 对象的一个属性,从而形成了嵌套结构。访问嵌套属性时需要使用点或方括号语法来获取属性的值。

示例2: 使用数组存储多个数据

const fruits = ['apple', 'banana', 'orange'];
fruits.push('pear');
console.log(fruits); // ['apple', 'banana', 'orange', 'pear']

fruits.splice(1, 1); 
console.log(fruits); // ['apple', 'orange', 'pear']

上述例子展示了数组的两个基本操作:添加元素和删除元素。push 方法用于向数组末尾添加一个新元素。splice 方法用于删除指定元素。第一个参数表示开始删除的索引位置,第二个参数表示删除的元素个数。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:潜说js对象和数组 - Python技术站

(0)
上一篇 2023年6月25日
下一篇 2023年6月25日

相关文章

  • js解码urlencode编码

    当我们在JavaScript中使用URL时,有时需要对URL进行编码和解码。URL编码是将URL中的特殊字符转换为十六进制编码的过程,而URL解码是将十六进制编码的字符转换回原始字符的过程。在JavaScript中,可以使用encodeURIComponent()和decodeURIComponent()函数来进行URL编码和解码。 URL编码 在JavaS…

    other 2023年5月7日
    00
  • Linux中mkdir函数与Windows中_mkdir函数的区别

    Linux中的mkdir函数与Windows中的_mkdir函数虽然在功能上都是用于创建目录,但由于两种操作系统的文件系统和API实现方式不同,所以在使用时会有一些区别。 在Linux系统下,mkdir函数的原型如下: int mkdir(const char *pathname, mode_t mode); 其中,pathname参数表示新创建目录的路径,…

    other 2023年6月26日
    00
  • mybatis注解开发 一对多嵌套查询方式

    MyBatis注解开发:一对多嵌套查询方式攻略 在MyBatis中,我们可以使用注解来进行数据库操作。一对多嵌套查询是指在查询一个实体对象时,同时查询其关联的多个子对象。这种查询方式可以通过使用MyBatis的注解来实现。下面是详细的攻略,包含两个示例说明。 步骤一:创建实体类和数据库表 首先,我们需要创建两个实体类,一个表示主对象,另一个表示子对象。假设我…

    other 2023年7月28日
    00
  • 电脑win键失效怎么办? 键盘win键无效的解决办法

    电脑Win键失效怎么办? Win键是Windows系统上非常重要的快捷键之一,其中Win键 + E可以打开资源管理器,Win键 + D可以最小化所有窗口。如果Win键不能正常使用,将极大影响用户的操作,那么该怎么办呢? 以下是一些可以解决电脑Win键无效的方法: 1. 检查键盘 在Win键不起作用时,首先要检查键盘是否有问题。可以通过更换键盘或在其他计算机上…

    other 2023年6月26日
    00
  • iOS8.1正式版固件地址下载 苹果iOS8.1(12B411/10)固件地址官方下载大全

    iOS8.1正式版固件地址下载攻略 苹果iOS8.1(12B411/10)固件是一款非常重要的操作系统固件,为了方便用户下载和安装,以下是iOS8.1正式版固件地址下载的完整攻略。 步骤一:了解固件版本信息 在开始下载之前,首先需要了解你的设备所需的固件版本信息。确保你的设备与所下载的固件版本兼容。在本例中,我们以iOS8.1(12B411/10)为例。 步…

    other 2023年8月4日
    00
  • 贝塞尔曲线(b-spline)的原理与应用

    贝塞尔曲线(b-spline)的原理与应用 什么是贝塞尔曲线? 贝塞尔曲线是一种常见的参数曲线,常用于计算机图形学、CAD、计算机辅助设计等领域。它是一条由多个控制点决定的曲线,通过这些控制点的加权平均来构成一条平滑的路径。 贝塞尔曲线原理 贝塞尔曲线的原理是基于基函数上的加权平均计算实现的。每个基函数都是一个N次多项式,它可以决定曲线在某一特定位置上的形状…

    其他 2023年3月28日
    00
  • Java实现双链表的示例代码

    下面我将为您详细讲解Java实现双链表的示例代码的完整攻略。 什么是双链表 双链表是一种常见的数据结构,在链表中每个节点中都存储了前驱节点和后继节点的地址。与单链表相比,双链表能够更快速地进行双向遍历,但是需要更多的空间来存储节点的前驱和后继节点地址。 Java实现双链表的步骤 下面是实现双链表的步骤: 定义节点类,该节点类应该包含前驱节点和后继节点的引用。…

    other 2023年6月27日
    00
  • Android中TabLayout结合ViewPager实现页面切换

    下面我就为您详细讲解“Android中TabLayout结合ViewPager实现页面切换”的完整攻略。 1. 准备工作 在进行具体实现之前,我们需要进行一些准备工作: 添加相关依赖库,在build.gradle文件中加入以下依赖: groovy implementation ‘com.google.android.material:material:1.3…

    other 2023年6月26日
    00
合作推广
合作推广
分享本页
返回顶部