1.什么是对象以及对象的基本使用
2.对象的操作 --增删改查
3.对象的方法
4.数学内置对象
5.简单数据类型和引用数据类型
一.什么是对象以及对象的基本使用
① 对象是什么
- 可以理解为一种无序的数据集合,数组是有序的数据集合
- 对象通常用来描述某个事物,或者一个人
② 对象的使用
1.对象声明语法
let 对象名 = {}
let 对象名 = new Object()
2.对象由属性和方法组成
let 对象名 = {
属性名: 属性值,
方法名:函数
}
属性:信息或特征
let obj = {
uname:'pink老师',
age:18,
gender:'女'
}
- 数据描述性的信息称为属性,比如人的姓名,身高,年龄,性别,一般都是名词性的
- 属性都是成对出现的,包括属性名和属性值,它们之间用英文:隔开
- 多个属性之间使用英文,分隔
- 属性就是依附在对象上的变量
- 属性名可以使用" "或' ', 一般情况下省略,除非名称遇到特殊符号,比如空格或者-
方法:功能或行为
二.对象的操作 --增删改查
① 查询对象: 对象.属性
- 使用. 获得对象中属性对应的值,称为属性访问
- 语法:对象名.属性
- 获得对象里面的属性值
let obj = {
'name-chen': '小米',
num: '100000011001',
weight: '0.5kg',
address: '中国大陆'
}
console.log(obj.name)
② 修改:对象名.属性 = 新值 (有这个属性就是修改这个属性)
obj.name = '小米10 PLUS'
③ 增:对象名.属性 = 新值(没有的属性就是增加一个新的属性)
let obj = {
'name-chen': '小米',
num: '100000011001',
weight: '0.5kg',
address: '中国大陆'
}
obj.color = '粉色'
④ 属性 - 删(了解) delete 对象名.属性
delete pink.age
⑤ 查询的两种方法
-
对象.属性名
console.log(obj.color)
-
对象名['属性名']:对于多个词语拼接成的属性,点操作就不能用了,需要采取对象['属性'] 的方式
console.log(obj['num'])
三.对象中的方法
① 概念:数据行为性的信息称为方法,比如跑步,唱歌等,一般都是动词性的,本质是函数
let obj = {
uname: '刘德华',
song:function(x, y) {
console.log(x + y);
}
}
// 方法调用
obj.song(1, 2)
- 方法是由方法名和函数两部分构成的,它们之间用:分隔
- 多个属性之间用英文,分隔
- 方法是依附在对象中的函数
- 方法名可以使用"" 或' ', 一般情况下省略,除非名称遇到特殊符号如空格,中横线等
② 遍历对象
- 对象里面是无序的,没有规律,也没有数组那样的下标
- 使用for in 语法
- 一般不用这种方式遍历数组,主要用来遍历对象
- for in语法中的k是一个变量,在循环的过程中依次代表对象的属性名
- 由于k是变量,所以必须使用[ ]语法解析
- k 是对象的属性名,对象名[k]是属性值
let obj = {
uname : 'pink老师',
age: 18,
gender: '男'
}
for (let k in obj) {
console.log(k) // 属性名
console.log(obj[k])
}
四.数学内置对象
① Math对象是JS中的一个数学对象,提供了一系列数学运算的方法
方法 | 含义 |
random | 生成0-1之间的随机数 |
ceil | 向上取整 |
floor | 向下取整 |
max | 找最大数 |
pow | 幂运算 |
abs | 绝对值 |
console.log(Math.PI)
// 向上取整
console.log(Math.ceil(1.5))
// 向下取整
console.log(Math.floor(1.1))
// 四舍五入:取最接近的整数 特殊情况:负数:-1.5 取 -1
console.log(Math.round(4.68))
// 最大值
console.log(Math.max(1,2,3,4,5))
// 最小值
console.log(Math.min(1,2,3,4,5))
② 随机数
- Math.random() 随机数函数,返回一个0~1之间,并且包括0但不包括1的随机小数 [0, 1)
- 取0到10之间的随机数: Math.floor(Math.random() * ( 10 + 1))
- 取0到N之间的随机数: Math.floor(Math.random() * (N + 1))
- 生成M到N之间的随机数:Math.floor(Math.random() * (M - N + 1)) + N
- 随机抽取数组中的一个数:Math.floor(Math.random() * arr.length)
五. 简单数据类型和引用数据类型
- 简单类型:基本数据类型或者值类型,在存储变量的时候存储的是值本身,因此叫值类型
string number boolean undefined null
- 复杂类型:引用类型,在存储时变量中存储的仅仅是地址,通过new关键字创建的对象(如 object, Array, Date)
- 栈:由操作系统自动分配释放存放函数的参数值,局部变量的值,操作方式类似于数据结构中的栈,简单数据类型存放到栈里面
- 堆:存放复杂类型(对象),一般由程序员分配释放,若程序员不释放,由垃圾回收机制回收,引用数据类型存放到堆里面