一、对象介绍
1.对象是什么:对象是一种复杂数据类型。
2.对象作用:以键值对方式存储多个数据。
3.对象和数组异同点
相同点:都是复杂数据类型,都可以存储多个数据。
不同点:存储方式不同。
数组:有序存储。
对象:无序存储(键值对)。
需求:存储一个人的信息(姓名,年龄,性别)
// 1.使用基本数据类型
let name ='班长'
let age = 18
let sex = '男'
// 好处:阅读性高
// 弊端:冗余
// 2.使用复杂数据类型-数组
let arr =['班长',18,'男']
console.log(arr);
// 好处:一个变量存储多个数据// 弊端:阅读性不高
// 3.使用对象
let obj ={ name:'班长',age:38, sex:'男'}
二、对象语法
1.声明对象
let 对象名 = {
属性名:属性值,
属性名:属性值,
2.取值语法
对象名.属性名
细节:对象中的属性值是什么数据类型,取出来的时候就可以使用这个类型的所有语法。
如:对象中的属性值是 数组,则可以:对象名.属性名[下标]
如:对象中的属性值是 函数,则可以:对象名.属性名()
let obj = {
name:'班长',
age:18,
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());
三、对象操作
<script>
let obj = {
name:'班长',
age:18,
sex:'男',
}
// 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:'学习"}
</script>