JS——对象

1.什么是对象

对象是什么?

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

对象有什么特点?

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

2. 对象使用

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

对象声明语法



例如:

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

对象有属性和方法组成

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

属性

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

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

增删查改

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


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

属性-查的另外一种写法

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

[]语法里面的值如果不添加引号 默认会当成变量解析
总结:
没有必要的时候直接使用点语法, 在需要解析变量的时候使用 [] 语法

  1. 对象访问属性有哪两种方式?
    点形式 对象.属性
    [] 形式 对象['属性']
  2. 两种方式有什么区别?
    点后面的属性名一定不要加引号
    [] 里面的属性名一定加引号(因为'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

相关推荐
Json_1817901448014 分钟前
电商拍立淘按图搜索API接口系列,文档说明参考
前端·数据库
风尚云网37 分钟前
风尚云网前端学习:一个简易前端新手友好的HTML5页面布局与样式设计
前端·css·学习·html·html5·风尚云网
木子020439 分钟前
前端VUE项目启动方式
前端·javascript·vue.js
GISer_Jing41 分钟前
React核心功能详解(一)
前端·react.js·前端框架
捂月1 小时前
Spring Boot 深度解析:快速构建高效、现代化的 Web 应用程序
前端·spring boot·后端
深度混淆1 小时前
实用功能,觊觎(Edge)浏览器的内置截(长)图功能
前端·edge
Smartdaili China1 小时前
如何在 Microsoft Edge 中设置代理: 快速而简单的方法
前端·爬虫·安全·microsoft·edge·社交·动态住宅代理
秦老师Q1 小时前
「Chromeg谷歌浏览器/Edge浏览器」篡改猴Tempermongkey插件的安装与使用
前端·chrome·edge
滴水可藏海1 小时前
Chrome离线安装包下载
前端·chrome
endingCode1 小时前
45.坑王驾到第九期:Mac安装typescript后tsc命令无效的问题
javascript·macos·typescript