对象介绍
对象是什么:对象是一种复杂数据类型。
.对象作用:以键值对方式存储多个数据。
对象和数组异同点
相同点:都是复杂数据类型,都可以存储多个数据。 不同点:存储方式不同。
数组:有序存储。 对象:无序存储(键值对)。
需求:存储一个人的信息(姓名,年龄,性别)
使用基本数据类型
let name ='s'
let age = 18
let sex = 'nan'
好处:阅读性高 弊端:沉余
使用复杂数据类型-数组
let arr = ['班长',18,'男']
console.log(arr);
好处:一个变量存储多个数据 弊端:阅读性不高
使用对象
let obj = { name:'班长',age:38, sex:'男'}
对象语法
声明对象
let 对象名={
属性名:属性值,
属性名:属性值,
}
取值语法
对象名.属性名
let obj = {
name: '王子',
age: 19,
gfs: ['苍老师', '黑泽', '赤木'],
sayhi: function () {
console.log(111);
},
}
console.log(obj);
console.log(obj.name);
console.log(obj.age);
console.log(obj.gfs);
console.log(obj.gfs[2]);
console.log(obj.sayHi);
console.log(obj.sayHi());
细节:对象中的属性值是什么数据类型,取出来的时候就可以使用这个类型的所有语法。
如:对象中的属性值是 数组,则可以:对象名.属性名[下标]
如:对象中的属性值是 函数,则可以:对象名.属性名()
对象操作
1.查询语法(属性名存在,获取属性值;属性名不存在,获取underfined)
a.点语法 对象名.属性名
b.[]语法 对象名['属性名']
a.点语法 对象名.属性名
console.log(obj.name );//班长
console.log(obj.age );//18
console.log(obj.sex );//男
console.log(obj.country);//undefined
b.[]语法对象名['属性名']
console.log(obj['sex'] );//男
2.修改属性
a.对象名.属性名 = 值
b.对象名['属性名'] = 值
obj.name ='李四';
obj['age'] = 20;
console.log(obj);//{name:'李四',age: 20,sex:'男'}
3.新增属性
a.如果对已经存在的属性赋值,则是修改
b.如果对不存在的属性赋值,则是新增
obj.hobby ="学习"
console.log(obj);//{name:'李四",age:20,sex:"男',hobby:'学习'}
4.删除对象属性
delete 对象名.属性名
delete obj.age
console.log(obj);//{name:'李四",sex:'男',hobby:'学习'}
对象遍历
遍历数组:for循环
for(let i= 0; i<arr.length;i++){arr[i]}
遍历对象:特殊的for-in循环(专门用于遍历对象)
for(let key in 对象名){对象名[key]}
let obj = {
name:'王子',
age:18,
sex:'男',
hobby:'学习'
}
for(let key in obj){
console.log(key);
console.log(obj[key]);
}