1.什么是对象
对象是什么?
·对象是一种数据类型
·无序的数据的集合( 数组是有序的数据集合 )
对象有什么特点?
·无序的数据的集合
· 可以详细地描述某个事物
静态特征 (姓名, 年龄, 身高, 性别, 爱好) => 可以使用数字, 字符串, 数组, 布尔类型等表示
动态行为 (点名, 唱, 跳, rap) => 使用函数表示
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