前端必知必会-JavaScript 对象

文章目录

  • JavaScript 对象
    • 对象属性
    • 对象方法
    • JavaScript 变量
    • JavaScript 对象
    • JavaScript 对象定义
      • JavaScript 对象文字
      • 创建 JavaScript 对象
      • 使用 new 关键字
      • 对象属性
      • 访问对象属性
    • JavaScript 对象方法
    • JavaScript 原始值
    • JavaScript 对象是可变的
  • 总结


JavaScript 对象

现实生活中的对象
现实生活中的对象包括:房屋、汽车、人、动物或其他任何对象。

以下是汽车对象的示例:

汽车对象属性方法

car.name = Fiat

car.model = 500

car.weight = 850kg

car.color = white
car.start()

car.drive()

car.brake()

car.stop()

对象属性

现实生活中的汽车具有重量和颜色等属性:

car.name = Fiat、car.model = 500、car.weight = 850kg、car.color = white。

汽车对象具有相同的属性,但不同汽车的值不同。

对象方法

现实生活中的汽车具有启动和停止等方法:

car.start()、car.drive()、car.brake()、car.stop()。

汽车对象具有相同的方法,但这些方法在不同的时间执行。

JavaScript 变量

JavaScript 变量是数据值的容器。

此代码将一个简单值 (Fiat) 分配给名为 car 的变量:

示例

let car = "Fiat";

JavaScript 对象

对象也是变量。但对象可以包含许多值。

此代码将许多值 (Fiat、500、white) 分配给名为 car 的对象:

示例

const car = {type:"Fiat", model:"500", color:"white"};

注意:
使用 const 关键字声明对象是一种常见做法。

JavaScript 对象定义

如何定义 JavaScript 对象

  • 使用对象文字
  • 使用 new 关键字
  • 使用对象构造函数

JavaScript 对象文字

对象文字是花括号 {} 内的名称:值对列表。

{firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"}

注意:
名称:值对也称为键:值对。

对象文字也称为对象初始化器。

创建 JavaScript 对象

这些示例创建具有 4 个属性的 JavaScript 对象:

示例

// 创建对象
const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};

空格和换行符并不重要。对象初始化器可以跨越多行:

// 创建对象
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};

此示例创建一个空的 JavaScript 对象,然后添加 4 个属性:

// 创建对象
const person = {};// 添加属性
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";

使用 new 关键字

此示例使用 new Object() 创建一个新的 JavaScript 对象,然后添加 4 个属性:

示例

// 创建对象
const person = new Object();// 添加属性
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";

注意:
上述示例完全相同。

但是,无需使用 new Object()。

为了便于阅读、简单和执行速度,请使用对象文字方法。

对象属性

JavaScript 对象中的命名值称为属性。

属性
firstNameJohn
lastNameDoe
age50
eyeColorblue
以名称值对形式编写的对象类似于:

PHP 中的关联数组
Python 中的字典
C 中的哈希表
Java 中的哈希映射
Ruby 和 Perl 中的哈希

访问对象属性

您可以通过两种方式访问​​对象属性:

objectName.propertyName
objectName[“propertyName”]
示例

person.lastName;
person["lastName"];

JavaScript 对象方法

方法是可以对对象执行的操作。

方法是存储为属性值的函数定义。

属性属性值
firstNameJohn
lastNameDoe
age50
eyeColorblue
fullNamefunction() {return this.firstName + " " + this.lastName;}
示例
const person = {
firstName: "John",
lastName : "Doe",
id : 5566,
fullName : function() {
return this.firstName + " " + this.lastName;
}
};

在上面的例子中,这指的是 person 对象:

this.firstName 表示 person 的 firstName 属性。

this.lastName 表示 person 的 lastName 属性。

在 JavaScript 中,对象为王。

如果您理解对象,您就理解了 JavaScript。

对象是属性和方法的容器。

属性被命名为值。

方法是存储为属性的函数。

属性可以是原始值、函数,甚至是其他对象。

在 JavaScript 中,几乎“一切”都是对象。

对象是对象
数学是对象
函数是对象
日期是对象
数组是对象
映射是对象
集合是对象
除原始值外,所有 JavaScript 值都是对象。

JavaScript 原始值

原始值是没有属性或方法的值。

3.14 是原始值

原始数据类型是具有原始值的数据。

JavaScript 定义了 7 种原始数据类型:

  • 字符串
  • 数字
  • 布尔值
  • null
  • 未定义undefined
  • 符号
  • bigint
  • 不可变
    原始值是不可变的(它们是硬编码的,无法更改)。

如果 x = 3.14,则可以更改 x 的值,但不能更改 3.14 的值。

类型注释
“Hello”字符串“Hello”始终为“Hello”
3.14数字3.14 始终为 3.14
true布尔值true 始终为 true
false布尔值false 始终为 false
nullnull (对象)null 始终为 null
undefinedundefinedundefined 始终为 undefined

JavaScript 对象是可变的

对象是可变的:它们通过引用而不是值来寻址。

如果 person 是一个对象,则以下语句不会创建 person 的副本:

const x = person;
对象 x 不是 person 的副本。对象 x 是 person。

对象 x 和对象 person 共享相同的内存地址。

对 x 的任何更改也会更改 person:

示例

//创建一个对象
const person = {
firstName:"John",
lastName:"Doe",
age:50, eyeColor:"blue"
}//创建一个副本
const x = person;// 更改两者中的 Age
x.age = 10;

总结

本文介绍了JavaScript 对象的使用,如有问题欢迎私信和评论

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

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

相关文章

电赛入门之软件stm32keil+cubemx

hal库可以帮我们一键生成许多基本配置,就不需要自己写了,用多了hal库就会发现原来用基本库的时候都过的什么苦日子(笑 下面我们以f103c8t6,也就是经典的最小核心板来演示 一、配置工程 首先来新建一个工程 这里我们配置rcc和sys&…

Elasticsearch开源仓库404 7万多star一夜清零

就在昨晚,有开发者惊奇地发现自己的开源项目 star 数竟然超过了最流行的开源全文搜索引擎 Elasticsearch。发生了什么事?Elasticsearch 竟然跌得比股票还凶 —— 超 7 万 star 的 GitHub 仓库竟然只剩下 200 多。 从社交媒体的动态来看,Elast…

汽车免拆诊断案例 | 2010款起亚赛拉图车发动机转速表指针不动

故障现象  一辆2010款起亚赛拉图车,搭载G4ED 发动机,累计行驶里程约为17.2万km。车主反映,车辆行驶正常,但组合仪表上的发动机转速表指针始终不动。 故障诊断  接车后进行路试,车速表、燃油存量表及发动机冷却温度…

【电商搜索】现代工业级电商搜索技术-亚马逊-经典的Item-to-Item协同推荐算法

【电商搜索】现代工业级电商搜索技术-亚马逊-经典的Item-to-Item协同推荐算法 文章目录 【电商搜索】现代工业级电商搜索技术-亚马逊-经典的Item-to-Item协同推荐算法1. 论文信息2. 算法介绍3. 创新点小结4. 实验效果5. 算法结论6. 代码实现7. 问题及优化方向1. 冷启动问题2. 稀…

Java - 数组实现大顶堆

题目描述 实现思路 要实现一个堆,我们首先要了解堆的概念。 堆是一种完全二叉树,分为大顶堆和小顶堆。 大顶堆:每个节点的值都大于或等于其子节点的值。 小顶堆:每个节点的值都小于或等于其子节点的值。 完全二叉树&#xff…

人工智能与数据安全:Facebook如何应对隐私挑战

在数字时代,数据隐私和安全成为了用户和企业关注的核心问题。作为全球最大的社交媒体平台之一,Facebook面临着日益严峻的隐私挑战。近年来,频繁发生的数据泄露事件和对用户隐私的质疑,使得Facebook在保护用户数据方面倍感压力。为…

2024年ABS分区更新,聚焦管理科学领域新动态

2024学术期刊指南简介 2024年10月30日,英国商学院协会(Chartered Association of Business Schools)发布了最新的《学术期刊指南(Academic Journal Guide)》(以下简称“《指南》”)&#xff0c…

解读!中国人工智能大模型技术白皮书!

近期,中国人工智能协会发布了《中国人工智能大模型技术白皮书》,系统梳理了大模型技术演进,深入探讨关键技术要素,并剖析当前挑战及未来展望。我为大家做了简要总结,并附上原文供深入阅读。 目录 第 1 章 大模型技术概…

深度学习笔记之BERT(一)BERT的基本认识

深度学习笔记之BERT——BERT的基本认识 引言回顾:Transformer的策略回顾:Word2vec的策略和局限性 BERT \text{BERT} BERT的基本理念抽象的双向BERT的预训练策略 预训练与微调 引言 从本节开始,将介绍 BERT \text{BERT} BERT系列模型以及其常…

二:Linux学习笔记(第一阶段)-- Linux命令

目录 Linux注意事项: Linux目录 Linux系统基础命令 1. 文件和目录操作 2. 文件查看和编辑 3. 文件权限和所有权 4. 系统信息 5. 网络命令 6. 文件查找 7. 压缩和解压缩 8. 系统管理 Linux注意事项: 严格区分大小写一切皆文件windows下的程序不…

基于 Java 语言双代号网络图自动绘制系统

基于Java语言双代号网络图自动绘制系统研究与实现 一、摘要 网络计划技术已被广泛应用于工业、农业、国防、科学研究等多个领域中的项目计划与管理,以缩短项目周期,提高资源的利用效率。在网络计划技术中,绘制网络图是网络计划技术的基础工…

多模态大模型微调实践!PAI+LLaMA Factory搭建AI导游

一、引言 AI的快速发展推动了各行各业的智能化转型和创新,随之而来的是对AI应用的迫切需求。 如何微调大模型、高效搭建AI应用成为了开发者们广泛关注的技术方向。阿里云人工智能平台PAI,联合开源低代码大模型微调框架LLaMA Factory ,共同打…

设计模式-单例模型(单件模式、Singleton)

单例模式是一种创建型设计模式, 让你能够保证一个类只有一个实例, 并提供一个访问该实例的全局节点。 单例模式同时解决了两个问题, 所以违反了单一职责原则: 保证一个类只有一个实例。 为什么会有人想要控制一个类所拥有的实例…

基于SSM+微信小程序的社团登录管理系统(社团1)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 2、项目技术 3、开发环境 4、功能介绍 1、项目介绍 基于SSM微信小程序的社团登录管理系统实现了管理员及社团、用户。 1、管理员实现了首页、用户管理、社团管理、社团信息管理、社…

DAYWEB69 攻防-Java 安全JWT 攻防Swagger 自动化算法签名密匙Druid 泄漏

知识点 1、Java安全-Druid监控-未授权访问&信息泄漏 2、Java安全-Swagger接口-文档导入&联动批量测试 2、Java安全-JWT令牌攻防-空算法&未签名&密匙提取 Java安全-Druid监控-未授权访问&信息泄漏 Druid是阿里巴巴数据库事业部出品,为监控而…

SMO算法 公式推导

min ⁡ α 1 2 ∑ i 1 N ∑ j 1 N α i α j y i y j K ( x i ⋅ x j ) − ∑ i 1 N α i s.t. ∑ i 1 N α i y i 0 0 ≤ α i ≤ C , i 1 , 2 , ⋯ , N (9-69) \begin{aligned} & \min_{\alpha} \quad \frac{1}{2} \sum_{i1}^{N} \sum_{j1}^{N} \alpha_i \alpha_j…

OpenCV系列教程六:信用卡数字识别、人脸检测、车牌/答题卡识别、OCR

文章目录 一、信用卡数字识别1.1 模板匹配1.2 匹配多个对象1.3 处理数字模板1.4 预处理卡片信息,得到4组数字块。1.5 遍历数字块,将卡片中每个数字与模板数字进行匹配 二、人脸检测2.1人脸检测算法原理2.2 OpenCV中的人脸检测流程 三、车牌识别3.1 安装t…

2024年10月总结及随笔之漏更及失而复得

1. 回头看 日更坚持了670天。 读《数据湖仓》更新完成读《数据工程之道:设计和构建健壮的数据系统》开更并持续更新 2023年至2024年10月底累计码字1642797字,累计日均码字2451字。 2024年10月码字86801字,同比下降30.77%,环比…

VScode + PlatformIO 了解

​Visual Studio Code Visual Studio Code(简称 VS Code)是一款由微软开发且跨平台的免费源代码编辑器。该软件以扩展的方式支持语法高亮、代码自动补全(又称 IntelliSense)、代码重构功能,并且内置了工具和 Git 版本…

一二三应用开发平台自定义查询设计与实现系列2——查询方案功能实现

查询方案功能实现 上面实现了自定义查询功能框架,从用户角度出发,有些条件组合可以形成特定的查询方案,对应着业务查询场景。诸多查询条件的组合,不能每次都让用户来设置,而是应该保存下来,下次可以直接使…