潜说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日

相关文章

  • 关于c#:unix非阻塞i/o:o_nonblock与fionbio

    以下是关于“关于c#:unix非阻塞i/o:o_nonblock与fionbio”的完整攻略,包含两个示例说明。 C#中的阻塞I/O 在C#中,我们可以使用阻塞I/O来现异步I/O操作。非阻塞I/O允许我们在等待I/O操作完成时继续执行其他任务,从而提高程序的性能和响应速度。在本攻略中,我们将介绍如何在C#中使用非阻塞I/O。 1. 使用o_nonblock…

    other 2023年5月9日
    00
  • Android RecycleView添加head配置封装的实例

    Android RecyclerView添加Head配置封装的实例攻略 在Android开发中,RecyclerView是一个常用的控件,用于展示大量数据列表。有时候我们需要在RecyclerView的顶部添加一个头部视图,以展示一些额外的信息。本攻略将详细讲解如何在RecyclerView中添加头部视图,并提供两个示例说明。 步骤一:创建RecyclerV…

    other 2023年9月6日
    00
  • jdbctemplate中分页

    jdbctemplate中分页的完整攻略 在使用Spring框架中的JdbcTemplate进行数据库操作时,经常需要对查询结果进行分页处理。本文将提供一个完整攻略,包括分页的定义、实现方法以及示例说明等。 1. 分页的定义 分页是指将查询结果按照一定的规则分成若干页进行显示的过程。在数据库查询中,分页通常是通过LIMIT和OFFSET关键字来实现的。LIM…

    other 2023年5月8日
    00
  • datagridview中添加checkbox和常用处理方式.

    DataGridView中添加Checkbox和常用处理方式 DataGridView是.NET Framework中常用的控件之一,它可以用于显示和编辑数据。在DataGridView中添加Checkbox可以方便地进行多选操作。本文将详讲解如何在DataGridView中添加Checkbox以及常用的处理方式。 添加Checkbox 在DataGridV…

    other 2023年5月7日
    00
  • Yii获取当前url和域名的方法

    获取当前 URL,通常用于各种需要获取 URL 的场景,如在开发过程中打印调试信息、生成动态 URL 等。在 Yii 框架中,获取当前 URL 和域名有多种方式,下面我来为大家介绍一下。 方法一:使用 Yii::$app->request 对象 Yii::$app->request 对象是 Yii 框架中用于处理 HTTP 请求的核心组件,也是获…

    other 2023年6月27日
    00
  • Window7安装MariaDB数据库及系统初始化操作分析

    Window7安装MariaDB数据库及系统初始化操作分析 在Windows7操作系统上,安装MariaDB数据库并进行相关的系统初始化操作,主要可分为以下步骤: 步骤1:下载并安装MariaDB数据库 1.1 下载MariaDB数据库安装包 在MariaDB官网上下载MariaDB的Windows安装包,选择对应的版本、位数和版本号进行下载。 1.2 安装…

    other 2023年6月20日
    00
  • js中一维数组和二位数组中的几个问题示例说明

    关于“js中一维数组和二位数组中的几个问题示例说明”的完整攻略,我将分成以下几个部分: 一维数组和二维数组的定义和区别 一维数组中的常见问题及解决方法示例 二维数组中的常见问题及解决方法示例 下面我会一步一步详细讲解每个部分的内容。 1. 一维数组和二维数组的定义和区别 一维数组是指只有一行数据或元素的数组;二维数组是指一个数组里面包含多行和多列的数据或元素…

    other 2023年6月25日
    00
  • Java创建型设计模式之工厂方法模式深入详解

    Java创建型设计模式之工厂方法模式深入详解 什么是工厂方法模式? 工厂方法模式是一种创建型设计模式,它提供了一种将对象的创建委托给子类的方式。在工厂方法模式中,我们定义一个抽象的工厂类,该工厂类负责定义创建对象的接口,具体的对象创建则由子类来实现。通过工厂方法模式,我们可以将对象的创建与使用解耦,使得系统更加灵活和可扩展。 工厂方法模式的实现方式 在Jav…

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