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算法包含一个粒子群࿰…...
【机器学习】【线性回归】梯度下降
文章目录 [toc]数据集实际值估计值估计误差代价函数学习率参数更新Python实现导包数据预处理迭代过程数据可视化完整代码 线性拟合结果代价结果 个人主页:丷从心 系列专栏:机器学习 数据集 ( x ( i ) , y ( i ) ) , i 1 , 2 , ⋯ , m \left(x^{(i)} , …...
JMeter逻辑控制器之While控制器
JMeter逻辑控制器之While控制器 1. 背景2.目的3. 介绍4.While示例4.1 添加While控制器4.2 While控制器面板4.3 While控制器添加请求4.3 While控制器应用场景 1. 背景 存在一些使用场景,比如:某个请求必须等待上一个请求正确响应后才能开始执行。或者&…...
记录 Docker 外部访问的基本操作
目录 1. 启动 docker 时挂载本地目录2. 外部访问 docker 容器 (-p/-P)3. 无法连接 docker 内 SSH 解决方案 1. 启动 docker 时挂载本地目录 # 将本地 D:/SDK 目录 挂载到 容器里的 /mnt/host 目录中 # 注意:-v /d/SDK:/mnt/host/ 必须放到 IMAGE_ID 前面才行 # …...
【Android 13】使用Android Studio调试系统应用之Settings移植(六):BannerMessagePreference
文章目录 一、篇头二、系列文章2.1 Android 13 系列文章2.2 Android 9 系列文章2.3 Android 11 系列文章三、BannerMessagePreference的移植3.1 新的问题:找不到 R.dimen.settingslib_preferred_minimum_touch_target3.2 问题分析(一)3.2.1 资源定义的位置3.2.2 检查依赖3.2…...
Python 变量
打印输出内容 print(‘rumenle’) print(‘haode’) 缩进需要tab 注释将需要注释的部分开头用# 多行注释 1、用你也可以左键选中我们需要注释的代码,松开,按:Ctrl/,就完成相同效果注释 2、把要注释的内容放到三个引号对里面 …...
ComfyUI如何中文汉化
comfyui中文地址如下: https://github.com/AIGODLIKE/AIGODLIKE-ComfyUI-Translationhttps://github.com/AIGODLIKE/AIGODLIKE-ComfyUI-Translation如何安装? 1. git安装 进入项目目录下的custom_nodes目录下,然后进入控制台,运…...
Glary Utilities Pro - 电脑系统优化全面指南:详尽使用教程
软件简介: Glary Utilities Pro 是一款全面的电脑优化工具,它旨在帮助用户提升计算机的性能和稳定性。这款软件提供了多种功能,包括系统清理、优化、修复以及保护。通过一键扫描,它可以识别并清除无用文件、临时数据、注册表错误等…...
1.4分页和排序
排序: -- 分页(limit)和排序(order by) -- 排序:升序ASC,降序DESC -- ORDER BY 通过字段排序,怎么排 -- 查询的结果根据成绩降序,升序 SELECT s.studentno,studentname,sub.subjectname,studentresult FROM student s RIGHT JO…...
Modbus转Profinet,不会编程也能用!轻松快上手!
Modbus转Profinet是一种用于工业自动化领域的通信协议转换器,可以将Modbus协议转换为Profinet协议,实现设备之间的数据交换与通信。这个工具的使用非常简单,即使没有编程经验的人也可以轻松上手。即使不会编程的人也可以轻松快速上手使用Modb…...
鸿蒙原生应用/元服务开发-Stage模型能力接口(十)下
ohos.app.form.FormExtensionAbility (FormExtensionAbility) 系统能力:SystemCapability.Ability.Form 示例 import FormExtensionAbility from ohos.app.form.FormExtensionAbility; import formBindingData from ohos.app.form.formBindingData; import formP…...
苍南规划建设局网站/seo网络营销技术
<a name"ST"></a> 普通定位方式是在地址后面加上#ST即可,现想通过JS实现定位,代码如下 window.location.hash"ST"...
提供常州网站推广/在百度怎么免费发布广告
为什么3dmax渲染出来是黑色的,用PS打开也是全黑的?渲染出来的结果全黑,大概率新手都会遇到这样的问题,那么如何解决呢?看看以下几种设置就可以解决这个问题。第一种情况是抗锯齿过滤器选择错了首先我们打开3dmax中渲染设置里面的…...
申请注册公司流程及费用/seo技术培训宁波
这两天一位电商分析师L接连撰文帮当当找买家,另外,再前几日在微信朋友圈也听一好友H说当当找到买主了,这两位都是电商分析圈的资深人士,他们说的内容都与当当在找买主有关。无风不起浪,当当在找买主或者找投资的事很有…...
移动端网站的优势/友情视频
这是思科出的最新的Packet Tracer 6.1 student完整版,讲师版就是多了出题的模块,在51cto的下载频道也能找到,我是懒得去分割上传了,直接从百度盘下吧。Packet Tracer 6.1版本最明显的区别是加了防火墙ASA5505,同时也支持HSRP&…...
无锡新吴区住房和建设交通局网站/电脑系统优化软件哪个好用
首先我们尝试构造一个乱码 第1步 我们可以在首页编写一个提交的表单,在web目录下创建form.jsp <% page contentType"text/html;charsetUTF-8" language"java" %> <html> <head><title>Title</title> </head…...
wordpress能支持微信排版/小红书推广平台
在弄明白什么是重定向恢复之前,需要知道数据库的文件构成,如果您对这一块比较熟悉,可以直接跳到第一条分割线:首先,一个DB2数据库的文件是由两分部构成的:表空间容器和数据库文件,容器就是真正存…...