JS 对象

174 阅读2分钟

一、什么是对象?为什么需要对象?

何为对象:万物皆对象,对现实事物的描述。客观世界中的具体的实体都是对象.如一个人,一个气球,一辆汽车等等。
需求:如何在JS中存储班主任这个对象的信息?
静态特征 (姓名、年龄、身高、性别、爱好)=>可以使用数字、字符串、数组、布尔类型等表示
动态行为 (点名、唱、跳、rep)=>使用函数表示
对象是一种数据类型 无序的一组数据集合。
对象组成:属性 对象里面声明的叫属性,外面的声明的叫变量;方法 对象里面声明的叫方法.外面声明的叫函数。

二、对象的基本语法介绍

在JS中,对象就是一组无序的键值对的集合。
说明:1.我们把冒号左边的内容称之为属性,右边称之为值,成对出现,故称之为键值对。
2.当右边的值为函数的时候,我们更喜欢将这个属性称之为方法。
3.对象本质上也是一种数据集合,对比数组来说它里面装的都是不同类型的数据,并且有对应的属性提示数据的含义。
let 对象名 = {}

三、对象的基本使用

对象本质上也是数据集合,使用无外乎增删改查。查语法:对象名.属性。改语法:对象名.属性 = 新值。增语法:对象.新属性名 = 新值。删语法 delete对象名.属性名

对象遍历

引入[]语法操作对象属性 对比点语法的相同点不同点:
1.都可以访问对象的属性 对象名.属性名 === 对象名['属性名']
2.[]语法里面的值如果不添加引号 默认会变成变量解析
3.没有必要的时候直接使用点语法,在需要解析变量的时候使用[]语法

遍历对象

for遍历对象的问题:对象没有像数组一样的length属性,所以无法确定长度;对象里面是无序的键值对,没有规律,不像数组里面有规律的下标。
通过for in语法:
1.for in语法中的 attr 是一个变量,在循环的过程中依次代表对象的属性名。
2.由于attr是变量,所以必须使用[]语法解析 k输出的是 属性名 属性名得到是字符串类型 obj[k]属性值 for k in 对象名{}

内置对象

Math:Math.Pl 最大值/最小值 绝对值 取整 随机数:求0-n之间的随机数;求m-n之间的随机数。
随机点名:

image.png 猜数字:

image.png

四、简单类型和复杂类型

堆和栈;简单数据类型存储方式 值类型;复杂数据类型存储方式 地址