对象定义: {} 或 new Object();
- 对象的属性由key-value组成,每个属性之间用逗号隔开,key不需要引号。
let student ={
id:1001,
name:'张三',
age:19
};
对象属性的访问: 对象[‘属性名’] / 对象.属性名(一般使用这种)
console.log(student['id']); //1001
console.log(student.name); //张三
student.girlFriend = '小红';
console.log(student.girlFriend); //小红
student.girlFriend = '小瓜';
console.log(student.girlFriend); //小瓜
循环遍历访问对象的所有属性 for…in
let student ={
id:1001,
name:'张三',
age:19
};
for(let key in student){//
console.log(key); //输出 id name age
console.log(student.key); //输出 undefined undefined undefined
console.log(student[key]); //输出 1001 张三 19
//遍历输出: id undefined 1001 name undefined 张三 age undefined 19
}
Object.keys(对象) :可以拿到对象里面所有的属性组成的数组。
Object.values(对象):可以拿到对象里面所有值组成的数组。
let student ={
id:1001,
name:'张三',
age:19
};
let arrKeys = Object.keys(student);
console.log(arrKeys); //输出 ["id", "name", "age"]
let arrValues = Object.values(student);
console.log(arrValues); //输出 [1001, "张三", 19]
对象赋值(区别于变量赋值)
- 变量赋值 :值传递
let a = 10;
let b = a;
b = 100;
console.log(a); //输出10
- 对象直接等号赋值或参数传递:引用传递
let student ={
id:1001,
name:'张三',
age:19,
};
let student1 = student;
student1.id = 1002; //引用传递会改变外部的值,student里面的id也会被改变
console.log(student.id); //输出1002