js中的对象
对象 object:属性和属性值是以键值对key/value的形式存在的
对象中可以存储任意类型的数据;它用于存储各种键值集合和更复杂的实体
定义对象:
let obj = {
key1:value1,
key2:value2,
...
}
示例1:
let school ={
// 键值对 key:value
name:'云和数据',
address:'电子商务产业园',
date:'2014',
// 对象中的方法 属性值是一个函数,则称之为对象的方法
success:function(){
console.log('月薪过万');
}
}
let student = {
name:"张三",
age:19,
sex:'男',
hobby:'学习',
sport:'跑步',
say:function(classify){
console.log(`会说${classify}`);
}
}
console.log(school);
console.log(student);
// 访问对象中的属性 obj.key 获取属性值
console.log(school.name); // 云和数据
console.log(school.address);// 电子商务产业园
console.log(student.name); //张三
// 调用执行对象中的方法
school.success();// 月薪过万
student.say('八国语言');// 会说八国语言
// 修改对象的属性值 obj.key = newValue 本质就是重新赋值
student.name = '李四';
student.age = '48';
console.log(student.name);// 李四
console.log(student.age);// 48
示例2:
// 声明一个空对象
let computer={};
// 手动给对象添加属性并赋值
computer.name='ASUS';
computer.price=4666;
computer.print=function(){
console.log('连接打印机');
}
console.log(computer);
console.log(computer.name);
computer.print();
遍历对象:
let student = {
name:'张三',
age:18,
sex:'男',
feature:"一个帅小伙",
say:function(){
console.log('会哦唱歌');
}
}
// 访问对象中不存在的属性 , 得到的结果是 undefined
console.log(student.dd);// undefined
console.log(student.name); // 张三
for - in:
let student = {
name:'张三',
age:18,
sex:'男',
feature:"一个帅小伙",
say:function(){
console.log('会哦唱歌');
}
}
for(let key in student){
// key 是对象中的属性 key 是自定义的变量名
console.log(key);
// 获取属性值 如果对象的属性名是一个变量,则需要使用中括号 []
console.log(student[key]);
}
💡访问对象中的属性和方法时 , . 运算符和 [ ] 的区别:
.
运算符:.
的左边是对象,.
右边是具体的属性名,不能使用变量[ ]
中括号:[ ]
的前边是对象,[ ]
里边是一个字符串类型
let name = student.name;
//[]里的值是对象的属性名
let age = student['age'];
// 如果直接写, 则意味着是一个变量名 ; [] 可以使用变量的形式
let sex = 'sex';
let xingbie = student[sex];
console.log(name,age,xingbie);
student.say();
student['say']();