JavaScript 引用类型实例详解【数组、对象、严格模式等】

JavaScript 引用类型实例详解

在 JavaScript 中,引用类型是一种数据结构类型,它们不同于基本类型,基本类型是按值传递,而引用类型则是按引用传递,即在内存中存放的是该值在堆内存中存放的地址,而不是该值本身。常见的引用类型包括数组、对象、函数等。

数组

数组是一种可以存储一组有序数据的集合,它是一种可以动态扩展的对象。数组的声明方式如下:

let arr = []; //空数组
let arr2 = [1, 2, 3]; //具有 3 个元素的数组
let arr3 = new Array(); //空数组
let arr4 = new Array(1, 2, 3); //等同于 [1,2,3]

数组元素可以为任意类型,并且可以动态增加和删除元素。数组的常用操作包括:

  • 访问数组元素

对数组元素的访问可以通过下标来实现,例如 arr[0] 表示访问数组中第一个元素。注意数组下标从 0 开始,访问不存在的数组元素将返回 undefined。

  • 数组的遍历

可以使用 for 循环遍历数组元素,例如:

let arr = ['a', 'b', 'c'];
for(let i = 0; i < arr.length; i++) {
    console.log(arr[i]);
}
  • 数组的扩展和截取

可以使用 push() 和 unshift() 方法对数组末尾或开头插入元素,pop() 和 shift() 方法可以从数组的末尾或开头删除元素。使用 slice() 方法可以截取数组的一部分,splice() 方法可以在任意位置添加或删除元素。

对象

对象是一种无序的属性集合,可以包含多种类型的值。对象的声明方式如下:

let obj = {}; //空对象
let obj2 = {name: 'Tom', age: 18}; //具有 name 和 age 属性的对象
let obj3 = new Object(); //等同于 {}
let obj4 = new Object({name: 'Jerry'}); //等同于 {name: 'Jerry'}

对象的属性可以是任意类型,并且可以动态增加、删除和修改属性。对象的常用操作包括:

  • 访问对象属性

可以使用点符号或方括号来访问对象的属性,例如 obj.name 和 obj['name'] 都可以访问对象的 name 属性。如果对象不存在该属性,则返回 undefined。

  • 对象的遍历

可以使用 for-in 循环遍历对象的属性,例如:

let obj = {name: 'Tom', age: 18};
for(let key in obj) {
    console.log(key + ': ' + obj[key]);
}
  • 对象的增删改查

可以使用 . 和 [] 运算符对对象属性进行增、删、改、查操作。例如 obj.name = 'Jerry' 可以修改对象的 name 属性,delete obj.age 可以删除对象的 age 属性。

严格模式

JavaScript 的严格模式是一种执行模式,它有助于消除 JavaScript 弱类型和不安全的部分,从而提高代码的健壮性。严格模式声明方式如下:

'use strict';

在严格模式下,有以下变化:

  • 变量必须先声明后使用

在严格模式下,未经声明的变量或函数不能使用。

  • 函数中的 this 值是 undefined

在严格模式下,在函数中使用 this 关键字时,它的值是 undefined。

  • 禁止对只读属性赋值

在严格模式下,尝试对只读属性(如对象的 length 属性)进行赋值会报错。

  • 立即调用函数表达式必须使用括号包裹

在严格模式下,立即调用函数表达式必须使用括号包裹。

示例说明一:使用数组创建堆栈

可以使用数组的 push() 和 pop() 方法来模拟堆栈。例如:

let stack = [];
stack.push(1);  // 入栈 1
stack.push(2);  // 入栈 2
stack.pop();    // 出栈 2

示例说明二:使用对象创建链表

可以使用对象来模拟链表,例如:

let list = {
  value: 1,
  next: {
    value: 2,
    next: {
      value: 3,
      next: null
    }
  }
}

以上就是 JavaScript 引用类型的详细讲解,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript 引用类型实例详解【数组、对象、严格模式等】 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • Servlet映射路径匹配解析详解

    Servlet映射路径匹配解析详解 背景 在 Java Web 开发中,Servlet 是最基本的组件之一,而 Servlet 的映射路径(即 <url-pattern> 标签所配置的路径)则能够指定 Servlet 对哪些请求进行处理。传统的映射路径匹配规则较为简单,只支持 * 和 / 两种通配符,但实际开发中,我们常常需要更加灵活的映射路径配…

    Java 2023年6月15日
    00
  • Java 运算符 动力节点Java学院整理

    Java 运算符完整攻略 Java 运算符是可以用来执行各种算术、比较、逻辑和位运算的符号,常用的运算符包括算术运算符、赋值运算符、比较运算符、逻辑运算符和位运算符。在编写 Java 代码时,熟练掌握各类运算符的用法是非常重要的。 算术运算符 Java 中的算术运算符包括加、减、乘、除、求余和自增自减等运算。 加号(+):用于相加两个数; 减号(-):用于减…

    Java 2023年5月30日
    00
  • 如何用Java 几分钟处理完 30 亿个数据(项目难题)

    作为一个网站的作者,我很乐意分享如何用Java几分钟处理完30亿个数据的攻略。 首先,要实现如此庞大的数据量处理,我们需要使用到高效的数据结构以及算法。在Java中,常用的高效数据结构包括哈希表(HashMap)和红黑树 TreeMap,它们提供了高效的数据查找和增删能力,能够帮助我们在短时间内完成数据处理。 接着,我们需要采用分布式计算的方式,将数据分割成…

    Java 2023年5月26日
    00
  • JAVA如何使用Math类操作数据

    Java的Math类提供了许多数学函数,例如对数、三角函数、幂函数和指数函数等。在Java中使用Math类操作数据的过程如下: 导入Math类 在Java中使用Math类操作数据,需要先导入Math类。可以在代码最开始的位置添加导入语句: import java.lang.Math; 使用Math类提供的方法 Math类提供了许多数学函数,可以使用这些函数完…

    Java 2023年5月26日
    00
  • 教你用eclipse连接mysql数据库

    下面我就为你讲解如何使用Eclipse连接MySQL数据库的完整攻略。 1. 准备工作 在开始之前,你需要进行以下准备工作: 安装Eclipse IDE 如果你还没有安装Eclipse,请先去Eclipse官网下载并安装Eclipse IDE。 安装MySQL数据库 如果你还没有安装MySQL数据库,请先去MySQL官网下载并安装MySQL数据库。 安装My…

    Java 2023年5月20日
    00
  • Java中的JDBC是什么?

    JDBC(Java DataBase Connectivity)是Java语言中用于访问数据库的一种标准接口。通过 JDBC 接口,可以用 Java 语言来操作各种关系型数据库,如 Oracle、MySQL、SQL Server、Access 等。 使用 JDBC 连接数据库主要分为4个步骤: 导入 JDBC 相关的 JAR 包。 加载 JDBC 驱动程序。…

    Java 2023年4月27日
    00
  • 关于Apache默认编码错误 导致网站乱码的解决方案

    关于Apache默认编码错误 导致网站乱码的解决方案 问题描述 当在Apache服务器上部署网站时,如果网页中含有非英文字符,有时会出现乱码的情况,这是因为Apache服务器默认使用ISO-8859-1编码,而网页可能是采用UTF-8等编码格式。 解决方案 出现这种情况时,可以通过修改Apache服务器的配置文件httpd.conf来解决乱码问题。 打开ht…

    Java 2023年5月20日
    00
  • Java SpringBoot安全框架整合Spring Security详解

    Java Spring Boot安全框架整合Spring Security详解 Spring Security是一个基于Spring框架的安全框架,它提供了一系列的安全服务,包括认证、授权、攻击防护等。在Java Spring Boot应用程序中,整合Spring Security可以帮助我们更好地保护应用程序的安全性。本文将详细介绍如何在Java Spri…

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