持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第6天,点击查看活动详情
什么是对象
对象可以理解为一种复合数据类型, 也称之为引用类型, 它是为了更好的操作基本类型数据, 而将它们组合起来的方式.
对象中不仅可以有属性, 还可以有函数, 而函数在对对象中通常称之为方法
创建对象
创建对象有两种方式
let/var 对象名 = new Object();
let/var 对象名 = {};
添加属性
向对象中添加属性也有两种方式
对象名.属性名 = 属性值;
对象名['属性名'] = 属性值;
注意1: 如果添加属性时, 对象中已经存在该属性, 则是修改这个属性值
注意2: 属性值可以是做任意类型, 包括可以是对象和函数
访问属性
访问属性也有两种方式
对象名.属性名
对象名['属性名']
注意: 如果访问的属性在对象中不存在, 则会返回undefined
删除属性
删除属性的两种方式
delete 对象名.属性名
delete 对句名['属性名']
创建对象操作对象属性的第一种方式
// 对象的创建, 与属性的访问
let person = new Object()
// 向对象中添加属性
person['name'] = 'shaosiming';
person['age'] = 16;
// 读取对象中的属性
console.log(person['name']);
console.log(person['age']);
// 打印整个对象
console.log(person); // {name: 'dasiming', age: 18}
// 删除对象中的属性
delete person.name
console.log(person); // {age: 18}
创建对象操作对象属性的第一种方式
// 对象的创建, 与属性的访问, 第二种方式
let person2 = {}
person2.name = 'dasiming'
person2.age = 18
// 读取对象中的属性
console.log(person.name);
console.log(person.age);
// 打印整个对象
console.log(person2); // {name: 'dasiming', age: 18}
// 删除对象中的属性
delete person2.age
console.log(person2); // {name: 'dasiming'}
in 运算符
'属性名' in 对象名
如果对象中存在这个属性, 则返回true
如果对象中不存在这个属性, 则返回false
//检查属性在对象中是否存在
console.log('name' in person);
console.log('name' in person2);
typeof 对象名
如果是一个对象, 则会返回Object
// 一个对象的类型是Object
console.log(typeof person); // Object
console.log(typeof person2); // Object
字面量创建对象
let 对象名 = {
'属性名1': 属性值2,
'属性名2': 属性值2,
'属性名3': 属性值3
}
// 使用字面量来创建对象
let person2 = {
name: 'yuer',
age: 10
}
基本数据类型和引用类型的区别
基本数据类型有: String, Number, Boolean, Null, Undefined
引用数据类型只有: Object
存储空间的不同: 基本数据类型, 数据存放于栈空间, 而引用类型, 数据存放于堆空间
对于基本数据类型, 变量直接保存数据的值, 因此修改变量的值, 不会影响其它的变量
对于引用数据类型, 变量保存的是对象的引用, 如果多个变量保存同一个对象的引用, 修改其中一个变量的属性, 会影响其它的变量
对于变量的比较, 基本数据类型比较的是值, 而引用类型的变量, 比较的是对象的地址