JavaScript中的对象

·  阅读 50

持续创作,加速成长!这是我参与「掘金日新计划 · 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

存储空间的不同: 基本数据类型, 数据存放于栈空间, 而引用类型, 数据存放于堆空间

对于基本数据类型, 变量直接保存数据的值, 因此修改变量的值, 不会影响其它的变量

对于引用数据类型, 变量保存的是对象的引用, 如果多个变量保存同一个对象的引用, 修改其中一个变量的属性, 会影响其它的变量

对于变量的比较, 基本数据类型比较的是值, 而引用类型的变量, 比较的是对象的地址

分类:
前端
收藏成功!
已添加到「」, 点击更改