系列文章目录


文章目录

前言

一、对象是什么?

        1. 对象的定义

        2. 关于JavaScript的基本数据类型               

        3. 创建对象obj

二、属性

        1. 属性的定义

        2. 属性的添加、修改、删除、读取

        3. 属性的枚举

三、方法

        1. 方法的定义

        2. 创建一个对象的方法

总结



前言  

         该学习笔记内容基础且大部分来源于李立超老师视频课中,本人在此做以系统的整理(温习),以便自己日后翻阅,如有错误欢迎指正,谢谢。

一、对象是什么?

        1. 对象的定义

                   对象是JavaScript中的一种复合数据类型

                   对象相当于一个容器,在对象中可以储存各种不同数据类型的数据。                

                   对象属于可变类型,即对象创建完成后,可以任意的添加修改删除对象中的属性

                   注意:

                    -当对两个对象进行相等或者全等比较时,比较的是对象的内存地址

                    -修改对象时,如果有其他变量指向该对象,则所有指向该对象的变量都会受到影响

        2. 关于JavaScript的基本数据类型               

                    七种原始值: 数值:number、字符串:string、 空值:null、未定义值:undefined

                      布尔值:Boolean、  大整数: bigint、符号: symbol 。

                     原始值只能用来表示一些简单的数据,不能表示复杂数据。

                     原始值都属于不可变值,一旦创建就无法修改。

                     在内存中不会创建重复的原始值。

        3. 创建对象obj

                        1.let 对象名 = new Object();

                        2.对象字面量,可以使用{ }来创建对象

                                        let 对象名{

                                                    属性名:属性值,

                                                    [属性名]:属性值,

                                                  }

                        

//语法一
let obj = new Object();


//语法二 
let obj ={


            };

二、属性

                属性:对象中存储的数据。

                属性名

                通常属性就是一个字符串,所以属性名可以是任何值,无特殊要求。

注意:建议属性名按照标识符的规范来命名,特殊属性名不能直接使用的,需要用[ ]。

                可使用符号(symbol)作为属性名来添加属性,获取这种属性时,也必须要用symbol。

                使用symbol添加的属性,通常是那些不希望被外界访问的属性。

                属性值

                    -对象的属性值可以是任意属性的数据类型,也可以是一个对象。

                

        2. 属性的添加、修改、删除、读取

                添加、修改属性:

                                对象.属性名 = 属性值;

                                对象["属性名"] =属性值;

                                使用{ }创建的对象,可以直接向对象中添加属性

                删除属性:

                                delete 对象.属性名;

               读取属性:

                               如果读取的是一个对象中没有的属性,JS不会报错,而是显示undefined

        

//创建一个对象obj
let obj = new Object();

//向obj里添加属性
obj.name = '张三';
obj.age = 20;

obj["sex"]='女';

//使用变量添加一个属性address,值为宿舍。 等同于obj["address"]= “ 宿舍”
let str = "address";
obj[str] ="宿舍";

obj.str ="宿舍";//但使用.的形式添加属性时,不能使用变量。否则结果是属性str,值为宿舍。



//修改age属性
 obj.age = 19;

//删除性别属性
delete obj.sex;
         
//读取name属性
console.log(obj.name);

//读取obj对象
console.log(obj);



// let mySymbol = Symbol();
// obj[mySymbol] ="通过symbol添加的属性";
// console.log(obj[mySymbol]);


//使用{}来创建的对象,可以直接向对象中添加属性
let obj ={
        name:"李四",
        sex:"男", 
        ["age"]:20
    };


        3. 属性的枚举

                枚举属性,指将对象中的所有属性全部获取。

                for-in语句

                    语法:

                                for(let propName in 对象){

                                            语句...

                                }

                for-in的循环体会执行多次,有几个属性就会执行几次

                每次执行时,都会将一个属性名赋值给我们所定义的变量

            注意:并不是所有的属性都可以枚举,比如符号(symbol)添加的属性

let obj ={

            name :"孙悟空",
            age:18,
            gender:"男",
            address:"花果山",
            [Symbol()]:"符号添加的属性"

            
        }

        for( let propName in obj ){
            console.log(propName,obj[propName]);
            //console.log(1);
        }

三、方法

        1. 方法的定义

               当一个对象的属性指向一个函数,那么我们就称这个函数是该对象的方法

               调用函数就称为调用对象的方法

        2. 创建一个对象的方法

let  obj = Object();
        
// obj 的属性 use 指向函数 sum(),则这个函数sum就是obj的一个方法

 obj.use = function sum(a,b) {

      console.log("a +b =",a + b );
            
 }

 
//调用方法
obj.use(2,3);

总结

        关于JavaScript中对象的基础知识暂时总结到这里,以后有新的知识点会继续增加,感谢您的阅读。