1 什么是对象?
- 对象(object):JavaScript里的一种数据类型
- 可以理解为是一种无序的数据集合
- 用来描述某个事物
- 静态特征 (姓名, 年龄, 身高, 性别, 爱好) => 可以使用数字, 字符串, 数组, 布尔类型等表示
- 动态行为 (点名, 唱, 跳, rap) => 使用函数表示
2 对象的使用
//对象的声明
let 对象名 = {}
/*函数由属性名和方法组成,属性都是成 对出现的,包括属性名和值,它们之间使用英文 : 分隔
多个属性之间使用英文 , 分隔*/
let 对象名 ={
属性名:属性值,
方法名:函数
}
//例如:
let goods = { name:'小米手机' ,
price:'¥1000',
number:'100',
sayhi:function(){
document.write('你好')
}
}
3 对象查询访问
声明对象,并添加了若干属性后,可以使用 . 或 [] 获得对象中属性对应的值
let goods = { name:'小米手机' ,
price:'¥1000',
number:'100',
sayhi:function(){
document.write('你好')
}
}
console.log(goods.name)
console.log(goods["price"]) //使用[],要注意加""
console.log(goods.sayhi()) //对象访问方法使用实际是函数调用,要注意加()
4 对象的增删改查
-
访问对象已有的属性名并在加 = 号,意味着修改对应的属性值、
-
如访问的属性名在对象中没有对应的,则新建一个并且属性值为undefined,加等于号,则可以赋予新值
-
在访问的属性名前面加delete便可以删除该属性。
let goods = { name:'小米手机' ,
price:'¥1000',
number:'100',
sayhi:function(){
document.write('你好')
}
}
goods.color='red' //新增
delete goods.number //删除
goods.price='¥1999' //修改
goods.sayhi() //访问
console.log(goods["price"])
5 遍历对象
- 与遍历数组类似,但对象没有length长度的属性,且对象里都是无序的键对值。
- 一般使用 for in来遍历对象
let obj ={name :'小王',height:'172cm',weight:'70kg'}
obj.number ='10' //新增
obj.height ='180cm' //修改
for(let k in obj){
console.log(k) //k 是获得对象的属性名 ,可以自定义
console.log(obj[k]) //对象名[k] 是获得 属性值
}
6 内置对象
JavaScript内部提供的对象,包含各种属性和方法给开发者调用
6.1 Math数学运算对象random:生成0-1之间的随机数(包含0不包括1)
- ceil:向上取整
- floor:向下取整
- max:找最大数
- min:找最小数
- pow:幂运算
- abs:绝对值
console.log(Math.random()) //随机生成0-1的随机数
console.log(Math.ceil(1.5)) //向上取整
console.log(Math.max(1,2,3,4,54,3)) //最大值
console.log(Math.min(1,2,3,4,54,3)) //最小值
console.log(Math.pow(2,3)) // 幂运算 8
console.log(Math.abs(-5)) // 绝对值
console.log(Math.round(5.6)) // 四舍五入
6.2 生成随机数
6-2-1 生成0-10的随机数
Math.round(Math.random() * (10 + 1))
6-2-2 生成M-N之间的随机数
Math.round(Math.random() * (M - N + 1)) + N
function randomNumber(num1,num2){
return Math.round(Math.random()*(num2-num1)+num1)
}
7 拓展-基本数据类型与引用数据类型
简单类型又叫做基本数据类型或者值类型,复杂类型又叫做引用类型。
-
值类型:简单数据类型/基本数据类型,在存储时变量中存储的是值本身,因此叫做值类型
string ,number,boolean,undefined,null,
- 简单数据类型存放到栈里面
-
引用类型:复杂数据类型,在存储时变量中存储的仅仅是地址(引用),因此叫做引用数据类型
通过 new 关键字创建的对象(系统对象、自定义对象),如 Object、Array、Date,函数等
-
引用数据类型存放到堆里面
简单数据类型直接存放在变量(栈空间中),引用数据类型在栈里存放的是地址,而地址指向真正存放数据的堆空间
-