JavaScript基础知识点总结:从零开始学习JavaScript(五)
如果大家感感兴趣也可以去看:
🎉博客主页:阿猫的故乡
🎉系列专栏:JavaScript专题栏
🎉ajax专栏:ajax知识点
🎉欢迎关注:👍点赞🙌收藏✍️留言
学习目标:
知道对象数据类型的特征,具备对象数组数据渲染页面的能力
学习内容:
对象
综合案例
学习时间:
- 周一至周五晚上 7 点—晚上9点
- 周六上午 9 点-上午 11 点
- 周日下午 3 点-下午 6 点
学习产出:
对象
- • 什么是对象
在JavaScript中,对象是由一组键值对(属性和方法)组成的数据结构。对象可以用来表示现实世界中的实体,也可以用来存储和操作数据。
对象可以通过两种方式创建:
- 字面量方式:直接使用大括号{}来创建对象,并在大括号内定义属性和方法。
- 构造函数方式:使用构造函数和关键字new来创建对象。
对象的属性可以是任意的JavaScript数据类型,包括字符串、数字、布尔值、数组、函数等。属性可以通过点操作符或方括号操作符来访问和修改。
对象的方法是指对象中的函数。方法可以通过点操作符来调用,并可以访问对象的属性。
对象的特点包括:
- 对象的属性和方法是无序的,可以随意添加、删除和修改。
- 对象可以通过引用来传递。
- 对象可以作为数据的集合,可以使用循环和条件语句来遍历和操作对象的属性和方法。
对象(object):JavaScript里的一种数据类型
l 可以理解为是一种无序的数据集合, 注意数组是有序的数据集合
l 用来描述某个事物,例如描述一个人
Ø 人有姓名、年龄、性别等信息、还有吃饭睡觉打代码等功能
Ø 如果用多个变量保存则比较散,用对象比较统一
l 比如描述 班主任 信息:
Ø 静态特征 (姓名, 年龄, 身高, 性别, 爱好) => 可以使用数字, 字符串, 数组, 布尔类型等表示
Ø 动态行为 (点名, 唱, 跳, rap) => 使用函数表示
- • 对象使用

对象有属性和方法组成
Ø 属性:信息或叫特征(名词)。 比如 手机尺寸、颜色、重量等…
Ø 方法:功能或叫行为(动词)。 比如 手机打电话、发短信、玩游戏…
对象使用
数据描述性的信息称为属性,如人的姓名、身高、年龄、性别等,一般是名词性的。

Ø 属性都是成 对出现的,包括属性名和值,它们之间使用英文 : 分隔
Ø 多个属性之间使用英文 , 分隔
Ø 属性就是依附在对象上的变量(外面是变量,对象内是属性)
Ø 属性名可以使用 "" 或 '',一般情况下省略,除非名称遇到特殊符号如空格、中横线等
ES6最新语法给了JavaScript对象一些新的特性和语法糖。下面是一些ES6最新语法用于JavaScript对象的示例:
- 属性简写: 在ES6中,如果属性名和变量名相同,可以直接使用变量名作为属性名,而无需重复声明。
const name = 'John';
const age = 25;const person = { name, age };
- 方法简写: 在ES6中,可以使用箭头函数来定义对象的方法。
const person = {name: 'John',age: 25,sayHello() {console.log(`Hello, my name is ${this.name}`);}
};
person.sayHello();
- 计算属性名: ES6允许在对象字面量中使用计算属性名,可以在属性名中使用表达式。
const propName = 'name';const person = {[propName]: 'John',age: 25
};
console.log(person.name); // 输出: 'John'
- 对象解构赋值: ES6允许使用解构赋值语法从对象中提取和声明变量。
const person = {name: 'John',age: 25
};const { name, age } = person;
console.log(name); // 输出: 'John'
console.log(age); // 输出: 25
- Object.assign()方法: ES6引入了一个Object.assign()方法,用于将源对象的属性复制到目标对象中。
const person = {name: 'John',age: 25
};const newPerson = Object.assign({}, person); // 复制person对象
console.log(newPerson);
这些是ES6最新语法用于JavaScript对象的一些示例。它们提供了更简洁和方便的方式来操作和定义对象。
对象本质是无序的数据集合, 操作数据无非就是 增 删 改 查 语法:
JavaScript对象是一种无序的数据集合,它是由一对花括号({})包围的属性和值组成。操作对象的数据通常包括增加(添加新属性)、删除、修改和查询。
- 增加属性:可以通过为对象添加新属性来增加数据。
const person = {}; // 创建空对象person.name = 'John'; // 增加name属性
person.age = 25; // 增加age属性
- 删除属性:可以使用
delete关键字来删除对象的属性。
const person = {name: 'John',age: 25
};delete person.age; // 删除age属性
- 修改属性:可以通过直接赋值给对象的属性来修改数据。
const person = {name: 'John',age: 25
};person.name = 'Jane'; // 修改name属性的值
- 查询属性:可以使用点号或方括号来访问对象的属性值。
const person = {name: 'John',age: 25
};console.log(person.name); // 输出: 'John'
console.log(person['age']); // 输出: 25
总结来说,JavaScript对象是一种无序的数据集合,可以使用增加、删除、修改和查询等操作来操作对象中的数据。以上是基本的操作语法示例。
属性-查的另外一种写法
l 对于多词属性或则 - 等属性,点操作就不能用了。
l 我们可以采取: 对象[‘属性’] 方式, 单引号和双引号都阔以
练习
请利用[] 语法把对象里面的属性依次打印出来
对象中的方法
l 数据行为性的信息称为方法,如跑步、唱歌等,一般是动词性的,其本质是函数
1. 方法是由方法名和函数两部分构成,它们之间使用 : 分隔
2. 多个属性之间使用英文 , 分隔
3. 方法是依附在对象中的函数
4. 方法名可以使用 "" 或 '',一般情况下省略,除非名称遇到特殊符号如空格、中横线等
- • 遍历对象
目标:能够遍历输出对象里面的元素
l 遍历对象
for 遍历对象的问题:
Ø 对象没有像数组一样的length属性,所以无法确定长度
Ø 对象里面是无序的键值对, 没有规律. 不像数组里面有规律的下标
在ES6中,我们可以使用for...of循环和Object.entries()方法来遍历对象。
- 使用
for...of循环遍历对象的所有属性:
const person = {name: 'John',age: 25,gender: 'male'
};for (const key in person) {console.log(key + ': ' + person[key]);
}
输出结果:
name: John
age: 25
gender: male
- 使用
Object.entries()方法来获取对象的属性和值,并使用for...of循环遍历:
const person = {name: 'John',age: 25,gender: 'male'
};for (const [key, value] of Object.entries(person)) {console.log(key + ': ' + value);
}
输出结果:
name: John
age: 25
gender: male
以上是使用ES6语法遍历对象的两种方法。for...of循环用于遍历对象的属性,Object.entries()方法用于获取对象的属性和值,并通过解构赋值将其分解为key和value。
下面也是关于黑马的练习项目:
遍历数组对象
需求:根据以上数据渲染生成表格
- • 内置对象
目标:学会调用JavaScript为我们准备好的内置对象
学习路径
-
1. 内置对象是什么
JavaScript内部提供的对象,包含各种属性和方法给开发者调用
l 思考:我们之前用过内置对象吗?
Ø document.write()
Ø console.log()
内置对象是JavaScript语言提供的一些原生对象,它们在执行环境中自动存在,无需额外的声明或引入。这些内置对象提供了一些常用的属性和方法,可以用于处理各种类型的数据和执行各种操作。
JavaScript中的内置对象可以分为以下几类:
-
基本对象:包括
Object、Function、Boolean、Symbol、Error等。这些对象是其他对象的基础,提供了一些共享的属性和方法。 -
数字和日期对象:包括
Number、Math、Date等。Number对象用于处理数字,Math对象提供了一些数学计算相关的方法,Date对象用于处理日期和时间。 -
字符串对象:包括
String对象和RegExp对象。String对象用于处理字符串,提供了各种字符串操作的方法,RegExp对象用于处理正则表达式。 -
集合对象:包括
Array、Set、Map等。Array对象用于表示和操作数组,Set对象用于表示和操作一组无重复值,Map对象用于表示和操作键值对。 -
全局对象:在浏览器环境中是
window对象,在Node.js环境中是global对象。全局对象提供了一些与运行环境相关的属性和方法,如浏览器中的setTimeout、location等。
除了以上的内置对象,还有许多其他的内置对象,如JSON对象、Promise对象、Reflect对象等,它们提供了更高级的功能和特定的操作。
使用这些内置对象,我们可以完成各种常见的操作,如创建对象、调用方法、处理数据等。了解并熟悉这些内置对象对于编写高效的JavaScript代码非常重要。
-
2. 内置对象Math
Math对象是JavaScript中的内置对象之一,提供了一些数学计算相关的属性和方法。以下是Math对象的一些常用属性和方法:
-
Math.PI:表示圆周率的常量,约等于3.14159。 -
Math.abs(x):返回一个数的绝对值。 -
Math.ceil(x):返回大于或等于给定数的最小整数。 -
Math.floor(x):返回小于或等于给定数的最大整数。 -
Math.round(x):返回给定数的四舍五入值。 -
Math.max(x1, x2, ...):返回一组数中的最大值。 -
Math.min(x1, x2, ...):返回一组数中的最小值。 -
Math.random():返回一个0到1之间的随机数。 -
Math.sqrt(x):返回给定数的平方根。 -
Math.pow(x, y):返回给定数的指定次幂。 -
Math.sin(x)、Math.cos(x)、Math.tan(x):分别返回给定角度的正弦、余弦和正切值。 -
Math.exp(x):返回e的指定次幂。 -
Math.log(x):返回给定数的自然对数。 -
Math.floor(Math.random() * (max - min + 1)) + min:生成一个指定范围内的随机整数。
以上只是Math对象的一些常用属性和方法,还有其他一些方法和一些其他常量如三角函数、指数函数、对数函数等。在实际开发中,我们可以利用Math对象进行各种数学计算和处理。
-
3. 生成任意范围随机数
如果你想使用ES6语法来声明函数并生成任意范围的随机数,可以使用以下代码示例:
const getRandomNumber = (min, max) => {let range = max - min + 1;return Math.floor(Math.random() * range) + min;
}// 示例使用
let randomNumber = getRandomNumber(1, 10);
console.log(randomNumber); // 输出1到10之间的随机整数
在上述代码中,我们使用ES6的箭头函数语法来声明了一个名为getRandomNumber的函数。函数内部的逻辑与之前的示例相同。
使用let关键字进行声明的优点是它会创建一个具有块级作用域的变量,因此它的作用范围被限制在函数内部。这可以避免变量被意外地重写或重新赋值,提高代码的可读性和可维护性。
相关文章:
JavaScript基础知识点总结:从零开始学习JavaScript(五)
如果大家感感兴趣也可以去看: 🎉博客主页:阿猫的故乡 🎉系列专栏:JavaScript专题栏 🎉ajax专栏:ajax知识点 🎉欢迎关注:👍点赞🙌收藏✍️留言 学习…...
Intel FPGA 技术开放日
概要 时间:2023.11.14 全天 ( 9:00 - 16: 20) 地点:北京望京. 凯悦酒店 主题内容:分享交流了Intel FPGA 产品技术优势和落地实践方案。 会议的议程 开场致词: FPGA业务,是几年前intel收购而…...
分享72个Python爬虫源码总有一个是你想要的
分享72个Python爬虫源码总有一个是你想要的 学习知识费力气,收集整理更不易。 知识付费甚欢喜,为咱码农谋福利。 链接:https://pan.baidu.com/s/1v2P4l5R6KT2Ul-oe2SF8cw?pwd6666 提取码:6666 项目名称 10 photo websites…...
Mybatis 动态 SQL - foreach
动态SQL的另一个常见需求是需要迭代一个集合,通常用于构建IN条件。例如: <select id"selectPostIn" resultType"domain.blog.Post">SELECT *FROM POST P<where><foreach item"item" index"index&quo…...
编程笔记 GOLANG基础 001 为什么要学习Go语言
编程笔记 GOLANG基础 001 为什么要学Go语言 一、推荐学习的计算机程序设计语言(一)、前端设计与编程:htmlcssjavascripttypescript(二)、C/C语言(三)、Go语言(四)、Pytho…...
OrientDB使用教程:全面了解图数据库
图数据库在当今数据处理领域中扮演着越来越重要的角色,而OrientDB作为一种多模型的数据库,具有图数据库、文档数据库和对象数据库的特性,为应对不同场景提供了灵活的解决方案。本教程将简要介绍OrientDB的使用,包括基本概念、安装…...
VMware安装笔记
1、首先准备安装文件 没有的小伙伴可以网上自行下载,或者给我留言,我发给你。 2、开始安装 2.1、双击运行exe安装文件,下一步 2.2、接受许可,下一步 2.3、选择安装路径 2.4、选择好安装路径后,继续下一步 2.5、取消勾…...
MIT线性代数笔记-第27讲-复数矩阵,快速傅里叶变换
目录 27.复数矩阵,快速傅里叶变换打赏 27.复数矩阵,快速傅里叶变换 对于实矩阵而言,特征值为复数时,特征向量一定为复向量,由此引入对复向量的学习 求模长及内积 假定一个复向量 z ⃗ [ z 1 z 2 ⋮ z n ] \vec{z} \…...
三维点通用排序
前言 NWAFU 2021阶段二 C 一、题目描述 题目描述 在三维笛卡尔坐标系中,可以用X,Y,Z三个坐标分量表示三维空间中的一个点。现有一系列用X,Y,Z表示的三维点,需要对其按指定的X、Y或Z分量进行升序或降序排序。请用C语言实现这一排序过程,程序…...
[架构之路-265]:目标系统 - 设计方法 - 软件工程 - 软件设计 - 如何做好详细设计
目录 一、详细设计概述 1.1 什么是详细设计 1.2 软件概要设计、软件架构、软件详细设计比较 二、软件详细设计说明书 2.1 概述 2.2 撰写步骤 2.3 主要内容 三、详细设计详解 3.1 引言 3.2 系统架构设计 3.3 模块设计 3.3.1 模块描述 3.3.2 模块间接口设计与UML图 …...
java设计模式学习之【模板方法模式】
文章目录 引言模板方法模式简介定义与用途实现方式 使用场景优势与劣势在Spring框架中的应用游戏设计示例代码地址 引言 设想你正在准备一顿晚餐,无论你想做意大利面、披萨还是沙拉,制作过程中都有一些共同的步骤:准备原料、加工食物、摆盘。…...
篇章二 | Python 入门指南:深入理解基础数据类型
Python 是一门强大而易学的编程语言,而深刻理解其基础数据类型是掌握 Python 编程的重要一步。本入门指南将详细介绍 Python 中的基础数据类型,包括整数、浮点数、字符串、布尔值、列表、元组、字典和集合等,同时提供注意事项和与 C 语言的区…...
循环冗余效验码的计算方法
循环冗余效验码的计算方法 G(x): 在了解计算方法之前我们首先要明白G(x)表明的意思,这一步非常重要! 例如,G(x) x^3 x^2 1 ,该式子表明的编…...
第P8周:YOLOv5-C3模块实现
>- **🍨 本文为[🔗365天深度学习训练营](https://mp.weixin.qq.com/s/rbOOmire8OocQ90QM78DRA) 中的学习记录博客** >- **🍖 原作者:[K同学啊 | 接辅导、项目定制](https://mtyjkh.blog.csdn.net/)** 一、 前期准备 1. 设…...
Java中常见的日志包分析(Log4j、Logback、SLF4J等)
Java中常见的日志jar包包括Log4j、Logback、SLF4J、java.util.logging等。它们各自的作用和应用场景如下: 1. Log4j 作用:Log4j是Apache的一个开源项目,提供日志记录的功能,支持多种输出目的地,如控制台、文件、GUI组…...
C++系列-第1章顺序结构-3-输出类cout
C系列-第1章顺序结构-3-输出类cout 在线练习: http://noi.openjudge.cn/ https://www.luogu.com.cn/ 总结 本文是C系列博客,主要讲述输出类cout的用法 cout介绍与基本用法 在C中,cout 是用于输出(打印)数据的工具&…...
对于智能设备的一些设想1
最近发现脑子里经常会出现一些能够偷懒的想法,希望这些点子能一点点保存下来,希望有需要的人拿走点子,不用谢 1.泡脚桶 2023年12月28日 近两年泡脚桶的风着实很大,我差点也就入坑了,于是有了一种设想,为什么…...
Large-Precision Sign using PBS
参考文献: [CLOT21] Chillotti I, Ligier D, Orfila J B, et al. Improved programmable bootstrapping with larger precision and efficient arithmetic circuits for TFHE[C]//Advances in Cryptology–ASIACRYPT 2021: 27th International Conference on the T…...
【电商项目实战】MD5登录加密及JSR303自定义注解
🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《电商项目实战》。🎯🎯 &am…...
2014,TEVC,A competitive swarm optimizer for large scale optimization(CSO)
PSO 分析(从而引入 CSO) CSO (competitive swarm optimizer) 算法是在PSO (particle swarm optimization) 算法的基础上改进而来的。PSO算法是一种功能强大、应用广泛的群体智能算法,主要用来解决优化问题。PSO算法包含一个粒子群࿰…...
使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
MySQL 8.0 事务全面讲解
以下是一个结合两次回答的 MySQL 8.0 事务全面讲解,涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容,并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念(ACID) 事务是…...
Modbus RTU与Modbus TCP详解指南
目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...

