【JavaScript】八、对象
文章目录
- 1、对象的声明
- 2、对象的使用
- 3、对象中的方法
- 4、遍历对象
- 5、内置对象Math
1、对象的声明
- 一种数据类型,使用typeof查看类型,结果是object
- 可以详细的描述描述某个事物

声明语法:

// 多用花括号形式声明
// 比如声明一个person对象
let person = {}
JS对象 = 属性 + 方法(类似Java中,类 = 属性 + 方法)

- 属性就是依附在对象上的变量(对象外面的是变量,对象内的是属性),是一对对无序的键值对
- 多个属性之间用逗号隔开
- 属性名可以使用双引号或者单引号,但一般省略不写,除非属性名有特殊字符,如
空格、中横线-
let product = {goods: '小米',uname: '小米su7',num: '100012816024',weight: '0.55kg',address: '中国大陆'
}
2、对象的使用

- 查:
对象名.属性 或者 对象['属性名'] - 改:
对象名.属性 = 新值 - 增:
对象名.新属性 = 新值 - 删:
delete 对象名.属性
<body><script>let product = {goods: '小米',uname: '小米su7',num: '100012816024',weight: '300kg',address: '中国大陆'}// 查console.log(product.uname)// 改product.uname = '小米su7-海洋蓝'console.log(product.uname)// 增product.consumer = '顾客1'console.log(product.consumer)// 删delete product.weightconsole.log(product)product</script>
</body>
改一下,对象属性名改成改中横线的,属性名加引号,但此时访问,中横线会被当成是减号,unmade当成一个变量,从而报错:uname is not defined

此时,可用另一种查询语法:对象[‘属性名’]
console.log(product['goods-uname'])
3、对象中的方法
表示对象的行为或者动作,在JS中:
- 方法是由方法名和函数两部分构成,它们之间使用 : 分隔
- 方法是依附在对象中的函数
- 方法名可以使用双引号或者单引号,但一般省略不写,除非属性名有特殊字符,如
空格、中横线-

在对象中声明方法以后,通过对象名.方法名来调用(之前的document.write(‘请输入密码’))

<body><script>let person = {// 属性uname: '张三',// 方法calc: function (num1 = 0, num2 = 0) {console.log(num1 + num2)},// 第二个方法sing: function () {console.log('sing a song')}}// 方法调用person.calc(1, 3)</script>
</body>
4、遍历对象
直接用普通for循环的话,对象和数组不同,没有length属性,循环次数确定不了 ==> for in 循环

- for in语法主要用来遍历对象
- for in语法中的 k 是一个变量, 在循环的过程中依次代表对象的属性名
- k 是获得对象的属性名,
对象名[k]是获得属性值,且必须用[ ]的语法来解析,不能用对象名.属性名,因为k是属性名,是带有引号的,你用对象名.属性名,其实是person.'uname',并不是person.uname,所以必然得到undefined
<body><script>let product = {goods: '小米',"goods-uname": '小米su7',num: '100012816024',weight: '300kg',address: '中国大陆'}// 遍历for (let key in product) {console.log(`${key}: ${product[key]}`)}</script>
</body>

5、内置对象Math
即JS内部提供的对象,包含各种属性和方法给开发者调用,如document.write()、console.log(),Math就是JS提供的一个数学对象,主要方法:
- random:生成0-1之间的随机数(包含0不包括1)
- ceil:向上取整
- floor:向下取整
- max:找最大数
- min:找最小数
- pow:幂运算
- abs:绝对值
<body><script>// 内置对象Math的属性// PIconsole.log(Math.PI) // 3.141592653589793// 内置对象Math的方法// 向上取整console.log(Math.ceil(1.1)) // 2// 向下取整console.log(Math.floor(1.1)) // 1// 四舍五入console.log(Math.round(1.5)) // 2// 最值console.log(Math.max(1, 2, 3, 4, 5)) //5console.log(Math.min(1, 2, 3, 4, 5)) //1// 绝对值console.log(Math.abs(-1)) // 1// 次幂console.log(Math.pow(2, 3)) // 2的3次方</script>
</body>
Math.random() 随机数函数, 返回一个0 - 1之间,并且包括0不包括1的随机小数 [0, 1),左闭右开
// 生成0-10的随机整数
Math.floor(Math.random() * (10 + 1))
// 生成5-10的随机整数
Math.floor(Math.random() * (5 + 1)) + 5
生成N-M之间的随机数:Math.floor(Math.random() * (M - N + 1)) + N
<body><script>function getRandon(M, N) {return Math.floor(Math.random() * (M - N + 1)) + N}console.log(getRandon(3, 9))</script>
</body>
抽取数组中的随机一个元素:
<body><script>function getRandonElement(arr = []) {let random = Math.floor(Math.random() * arr.length)return arr[random]}console.log(getRandonElement([3, 9, 4, 6, 7]))</script>
</body>
相关文章:
【JavaScript】八、对象
文章目录 1、对象的声明2、对象的使用3、对象中的方法4、遍历对象5、内置对象Math 1、对象的声明 一种数据类型,使用typeof查看类型,结果是object可以详细的描述描述某个事物 声明语法: // 多用花括号形式声明 // 比如声明一个person对象 …...
Processor System Reset IP 核 v5.0(vivado)
这个IP的作用,我的理解是,比普通按键复位更加高效灵活,可以配置多个复位输出,可以配置复位周期。 1、输入信号: 重要的信号有时钟clk信号,一般连接到系统时钟;输入复位信号,一般是外…...
linux0.11内核源码修仙传第十一章——硬盘初始化
🚀 前言 本文是初始化最后一部分了,对硬盘的初始化,对应于书中的第20回。希望各位给个三连,拜托啦,这对我真的很重要!!! 目录 🚀 前言🏆块设备管理dz…...
包络解调在故障诊断中的应用-广义检波解调案例
前言 前面我们曾介绍过广义检波解调的原理,那么今天就将学过的知识点真正用在故障诊断上,由于工厂数据集不能轻易获取,因此通过实验室仿真数据集来介绍整个诊断流程。 数据集 加拿大渥太华是故障诊断领域蛮出名的一个数据集,其…...
springboot 四层架构之间的关系整理笔记五
问题:service 和 多个serviceimpl 分层之间的逻辑关系? 好的!用班级活动的例子继续讲,假设班长(Service接口)要管理多种任务,而不同的班委(ServiceImpl实现类)负责不同场…...
喜报|迪捷软件入选工信部“2024年信息技术应用创新解决方案”
为进一步深化行业信息技术应用创新,健全信息技术应用创新产业生态,加快新技术新产品应用推广,强化应用牵引和需求导向,加强区域联动和资源整合,工业和信息化部网络安全产业发展中心(工业和信息化部信息中心…...
小林coding-12道Spring面试题
1.说一下你对 Spring 的理解?spring的核心思想说说你的理解? 2.Spring IoC和AOP 介绍一下?Spring的aop介绍一下?IOC和AOP是通过什么机制来实现的?怎么理解SpringIoc?依赖倒置,依赖注入,控制反转分别是什么?依赖注…...
2.Python 计算机二级题库:选择题答案解析
一 对 题目1 题目2 题目3 补充:在 Python 中,数字类型的复数类型是 complex。 题目4 题目5 题目6 题目7 题目8 题目9 题目10 题目11 题目12 题目13 题目14 题目15 题目16 题目17 题目18 题目19 题目20 题目21 题目22 题目23 题目24 题目25 题目26 题目27…...
使用Selenium和lxml库搜房网爬取某地区房屋信息(python、pycharm爬虫)
一、地址: url "https://zb.newhouse.fang.com/house/s/b91" # 第一页的 URL 但是这个爬虫我不知道为啥总是翻不了页数,请帮忙修改一下~ 二、用到的知识点以及代码详解: 这段代码是一个使用Selenium和lxml库实现的网页爬虫&a…...
大模型训练过程中KVCache与MLA
基础内容 在Transformer模型中,每个token有qkv三个属性,分别通过神经网络变换得到。1 根据Transformer中注意力公式,每个token的q需要和之前所有的k计算注意力,然后经过Softmax函数后乘以之前所有token的V,得到最终的…...
材质及制作笔记
基本流程: 建中模——zb雕刻高模——maya拓扑低模——拆uv——sp烘焙贴图——sp绘制材质——渲染 1 材质贴图: diffuse/albedo/basecolor:漫反射 reflection/specular:反射 metalness:金属度 glossiness…...
语音机器人与智能体结合
自从春节期间deepseek的发布,大家对语音机器人接入大模型格外的关注。最近又收到一个需求,是语音机器人与智能体的结合。 什么是智能体? 智能体(Agent)是指能够感知环境并采取行动以实现目标的实体。根据其复杂程度&am…...
使用git-lfs管理大文件
当我们使用git管理文件版本的时候,经常会有一些比较大的文件,比如一些模型文件,或者备份的文档资料等,这些文件属于如果太大,就会给git的管理带来困难。 所以,对于这种大文件,一般我们就会采用…...
vs2022+QT6.7.3打包程序流程
1、新建目录test 2、将项目配置为Release X64,生成XXX.exe 3、将XXX.exe放到test目录 4、管理员方式打开Qt 6.7.3 (MSVC 2022 64-bit),进入test目录,执行:windeployqt6.exe XXX.exe 5、管理员方式打开x64 Native Tools Command Pr…...
Axios企业级封装实战:从拦截器到安全策略!!!
🚀 Axios企业级封装实战:从拦截器到安全策略 🔧 核心代码解析 // 创建Axios实例 const service axios.create({baseURL: api, // 🌐 全局API前缀timeout: 0, // ⏳ 永不超时(慎用!)withCrede…...
关于计算机视觉中的插值小记
计算机视觉中的插值(Interpolation)讲解 插值(Interpolation)在计算机视觉中是一项基础操作,常用于图像缩放、旋转、去噪、图像重建等任务。其核心思想是在已知数据点之间进行推测,估计未知的像素值或特征…...
img 的 onerror属性
名词解释: img 标签的 onerror 属性是一个事件处理属性,当图片因 src 地址无效、网络问题或其他加载错误导致加载失败时,会触发该属性内的代码。 1. <img> 标签的 src 属性 src(source 的缩写)属性是 <img…...
Zerotier虚拟局域网在树莓派的应用和Syncthing配合Zerotier实现端到端文件同步
一、Zerotier的部署 1、官网注册账号 https://my.zerotier.com/i 2、选择linux系统,执行安装Zerotier curl -s https://install.zerotier.com | sudo bash3、将树莓派网络加入Zerotier zerotier-cli join DB62228FEDF6CE55DB62228FEDF6CE55 为你的Zerotier IP 需…...
51c嵌入式~三极管~合集1
我自己的原文哦~ https://blog.51cto.com/whaosoft/12208603 一、PNP与NPN两种三极管使用方法 分享这篇文章总结下关于NPN和PNP两种型号三极管的使用和连接方法。 在单片机应用电路中三极管主要的作用就是开关作用。 PNP与NPN两种三极管使用方法 上图中,横向左…...
Logback使用和常用配置
Logback 是 Spring Boot 默认集成的日志框架,相比 Log4j,它性能更高、配置更灵活,并且天然支持 Spring Profile 多环境配置。以下是详细配置步骤及常用配置示例。 一、添加依赖(非 Spring Boot 项目) 若项目未使用 Sp…...
SQL中累计求和与滑动求和函数sum() over()的用法
[TOC](SQL中累计求和与滑动求和函数sum() over()的用法) 一、窗口函数功能简介 sum(c) over(partition by a order by b) 按照一定规则汇总c的值,具体规则为以a分组,每组内按照b进行排序,汇总第一行至当前行的c的加和值。 sum():…...
【Sql Server】在SQL Server中生成雪花ID(Snowflake ID)
大家好,我是全栈小5,欢迎来到《小5讲堂》。 这是《Sql Server》系列文章,每篇文章将以博主理解的角度展开讲解。 温馨提示:博主能力有限,理解水平有限,若有不对之处望指正! 目录 前言认识雪花ID…...
FPGA——分秒计数器设计(DE2-115开发板)
一、项目创建 1.创建工程 点击File->New Project Wizard...或者直接在页面处点击 在第一行选择文件存放地点,第二行为项目名称,第三行为顶级设计实体名称 (下面的步骤可以暂时不做直接点Finish,因为是先写代码先把它跑出来暂…...
雅思练习总结(九)
雅思练习总结(九) 本文章是雅思练习总结(九),总结了文章《BAKELITE》,内容包括原文精翻,文章脉络总结,单词扩展学习3个部分 1 文章原文及翻译 BAKELITE 翻译:贝克莱特…...
windows USB 了解
GUID GUID 是一个 128 位的数字,在全球范围内是独一无二的,常被用于标识软件组件、设备接口等,以保证在不同系统和环境中能唯一识别特定对象。 DEFINE_GUID(GUID_DEVINTERFACE_USCUSTOMKEYS, 0x12345678, 0x1234, 0x5678, 0x12, 0x12, 0x23…...
光谱相机的光谱信息获取
光谱信息的获取方式主要依赖于不同分光技术和成像方法,将入射光分解为不同波长并记录其强度。以下是常见的光谱信息获取技术分类及原理: 1. 分光技术(物理分解波长) (1) 滤光片法 原理:使用固定或可调滤…...
免去繁琐的手动埋点,Gin 框架可观测性最佳实践
作者:牧思 背景 在云原生时代的今天,Golang 编程语言越来越成为开发者们的首选,而对于 Golang 开发者来说,最著名的 Golang Web 框架莫过于 Gin [ 1] 框架了,Gin 框架作为 Golang 编程语言官方的推荐框架 [ 2] &…...
构建大语言模型应用:简介(第一部分)
本专栏聚焦大语言模型(LLM)相关内容的解析,通过检索增强生成(RAG)应用的视角来进行。 本系列文章 简介(本文)数据准备句子转换器向量数据库搜索与检索大语言模型开源检索增强生成评估大语言模…...
PEmicro Multilink FX调试踩坑
文章目录 1.背景2 功能说明2.1 实时数据查看功能2.1 电压观测2.2 SWO功能 3 设置与支持 1.背景 既然使用了NXP的芯片,笔者就想使用一下它的专用调试器,这里先说一下,笔者是从朋友那里借了一个调试器,型号为PEmicro Multilink FX …...
主流大模型采用的架构、注意力机制、位置编码等汇总表
记录下主流大模型的一些核心知识点,包括: 架构注意力机制位置编码归一化激活函数模型参数 表中的一些模型已经是很久之前的了,比如表中并未收入 DeepSeek V3 中使用的MLA的注意力机制。先占个位,后续如果有更新的汇总表再来更…...
