JS——对象

1.什么是对象

对象是什么?

·对象是一种数据类型
·无序的数据的集合( 数组是有序的数据集合 )

对象有什么特点?

·无序的数据的集合
· 可以详细地描述某个事物
静态特征 (姓名, 年龄, 身高, 性别, 爱好) => 可以使用数字, 字符串, 数组, 布尔类型等表示
动态行为 (点名, 唱, 跳, rap) => 使用函数表示

2. 对象使用

目标:掌握对象语法,用它保存多个数据

对象声明语法



例如:

实际开发中,我们多用花括号。 {} 是对象字面量

对象有属性和方法组成

属性:信息或叫特征(名词)。 比如 手机尺寸、颜色、重量等...
方法:功能或叫行为(动词)。 比如 手机打电话、发短信、玩游戏...

属性

数据描述性的信息称为属性,如人的姓名、身高、年龄、性别等,一般是名词性的。

· 属性都是成对出现的,包括属性名和值,它们之间使用英文 : 分隔
· 多个属性之间使用英文 , 分隔
· 属性就是依附在对象上的变量(外面是变量,对象内是属性)
· 属性名可以使用 "" 或 '', 一般情况下省略 ,除非名称遇到特殊符号如空格、中横线等

增删查改

对象本质是无序的数据集合, 操作数据无非就是 增 删 改 查 语法:


改 和 增 语法一样,判断标准就是对象有没有这个属性, 没有就是新增,有就是改

属性-查的另外一种写法

对于多词属性或则 - 等属性,点操作就不能用了。
我们可以采取: 对象['属性'] 方式, 单引号和双引号都可以
也可以用于其他正常属性

\]语法里面的值如果不添加引号 默认会当成变量解析 **总结:** 没有必要的时候直接使用点语法, 在需要解析变量的时候使用 \[\] 语法 > 1. 对象访问属性有哪两种方式? > 点形式 对象.属性 > \[\] 形式 对象\['属性'

  1. 两种方式有什么区别?
    点后面的属性名一定不要加引号

\] 里面的属性名一定**加引号**(因为'user-name'这个变量名本身有引号) 后期不同使用场景会用到不同的写法

对象中的方法

遍历对象


一般不用这种方式遍历数组、主要是用来遍历对象
for in语法中的 k 是一个变量, 在循环的过程中依次代表对象的属性名
由于 k 是变量, 所以必须使用 [ ] 语法解析
一定记住: k 是获得对象的 属性名对象名[k] 是获得 属性值

3. 内置对象-Math

介绍: Math对象是JavaScript提供的一个"数学"对象
作用: 提供了一系列做数学运算的方法
Math对象包含的方法有:
·random:生成0-1之间的随机数(包含0不包括1)
·ceil:向上取整
·floor:向下取整
·max:找最大数
·min:找最小数
·pow:幂运算
·abs:绝对值

内置对象-生成任意范围随机数

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

相关推荐
局i1 分钟前
Vue 指令详解:v-for、v-if、v-show 与 {{}} 的妙用
前端·javascript·vue.js
码界奇点19 分钟前
Java Web学习 第15篇jQuery从入门到精通的万字深度解析
java·前端·学习·jquery
小鑫同学1 小时前
Alias Assistant:新一代 macOS Shell 别名管理解决方案
前端·前端工程化
꒰ঌ小武໒꒱1 小时前
RuoYi-Vue 前端环境搭建与部署完整教程
前端·javascript·vue.js·nginx
名字越长技术越强1 小时前
前端之相对路径
前端
望道同学2 小时前
PMP/信息系统项目管理师 9 张 思维导图【考试必备】
前端·后端·程序员
局i2 小时前
Vue 中 v-text 与 v-html 的区别:文本渲染与 HTML 解析的抉择
前端·javascript·vue.js
fruge3 小时前
接口 Mock 工具对比:Mock.js、Easy Mock、Apifox 的使用场景与配置
开发语言·javascript·ecmascript
菜鸟冲锋号3 小时前
问题:增量关联(实时同步新数据) 这个场景中,如果hudi_pay 变更了一条数据,hudi_order_pay_join 结果的数据会跟着变化吗
服务器·前端·数据库
贩卖黄昏的熊3 小时前
typescript 快速入门
开发语言·前端·javascript·typescript·ecmascript·es6