对象介绍
1.对象是什么 : 对象是一种复杂数据类型
2.对象作用 :以键值对方式存储多个数据
3.对象与数组异同点 相同点:都是复杂数据类型,都可以存储多个数据 不同点: 存储方式不同 数组: 有序存储 对象: 无序存储(键值对)
对象语法
1.声明对象 let 对象名 = { 属性名:属性值, 属性名:属性值, }
2.取值语法 对象名.属性名
3.细节: 对象中的属性值是什么数据类型, 取出来的时候就可以使用这个类型的所有语法 如,对象的属性值是 数组, 则可以: 对象名.属性名[下标] 如,对象的属性值是 函数, 则可以: 对象名.属性名()
let obj = {
name: '班长',
age: 18,
gfs: ['小花', '小美', '小丽'],
sayHi: function () {
console.log(11111)
},
eat:function(food){
console.log(`我要吃${food}`);
}
}
console.log(obj) //{name: '班长', age: 18, gfs: Array(3)}
console.log(obj.name) //'班长'
console.log(obj.age) //38
console.log(obj.gfs) // ['小花', '小美', '小丽']
console.log(obj.gfs[0]) // '小花'
对象操作(查询属性)
1.查询对象特点
1.1 如果属性名存在,则获取属性值
1.2 如果属性名不存在,则获取undefined
2.查询对象属性两种语法 点语法 obj.属性名 []语法 obj['属性名'] obj[ 变量名 ]
3.总结 : 对象取值优先使用点语法, 在需要解析变量的时候使用 [] 语法
let obj = {
name:'班长',
age:18,
sex:'男',
}
console.log( obj.name )
console.log( obj.age )
console.log( obj.sex )
console.log( obj.aaa )//undefined
let sex = 'age'
console.log( obj['name'])
console.log( obj['age'])
// sex是变量名,取这个变量中存储的字符串 obj[ 'age' ]
console.log( obj[ sex ])
对象操作:新增与修改
修改属性
对象名.属性名 = 值 对象名['属性名'] = 值
新增属性
(1)如果已经存在的属性赋值,则是修改
(2)如果不存在的属性赋值,则是新增
删除对象属性
delete 对象性.属性名
对象遍历
特殊的for-in循环 (专用于遍历对象)
for(let key in 对象名){ 对象名[key] }