对象的概念:拥有属性和方法的数据
创建对象
使用{} 来创建一个对象,包含若干个键值对,使用逗号隔开
const person = {
name:'张三',
age:20,
sex:'男'
}
对象中可以有对象、数组、方法(函数)
const person = {
name:'张三',
age:20,
hobby:['吃东西','打游戏'],
say:function(){
console.log('hello');
},
friend:{
name:'李四',
age:20
}
}
增删改查
使用对象.属性名的方法来增加、修改、查询对象属性
// 查
console.log(person.name); // 张三
console.log(person.hobby[1]); // 吃东西
console.log(person.friend.name); // 李四
person.say(); // hello
// 增
person.color = 'pink';
// 改
person.name = '王二';
// 删
delete person.name;
.语法和[]语法
// 增、改、查可以使用.语法和[]语法
console.log(person.name); // 张三
console.log(person['name']); // 张三
// 区别1:[]语法可以使用变量
let key = 'age';
console.log(person.key); // undefined
console.log(person[key]); // 20
// 区别2:[]语法可以使用特殊符号
const person = {
'a-b':10
}
console.log(person.a-b); // 报错(找不到变量b)
console.log(person[a-b]); // 10
for in 循环
用于遍历数组或对象
// 遍历对象,key的值为属性名
const person = {
name:'张三',
age:20,
sex:'男'
}
for(let key in person){
console.log(key); // name,age,sex
console.log(person[key]); // '张三',20,'男'
}
// 遍历数组,key的值为下标
const arr = [1,2,3,4,5];
for(let key in arr){
console.log(key); // 0,1,2,3,4
console.log(arr[key]); // 1,2,3,4,5
}