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