12 对象

98 阅读3分钟

对象

对象是一个具体的事物 eg 一本书 、一辆汽车、一个人....

在js 中,对象是一组 无序的相关属性和方法的集合 。所有的事物都是对象 eg :字符串、数值、数组、函数等

对象组成

对象是由 属性和方法组成的

  • 属性 : 事物的特征,在对象中用属性来表示(常用名词)
  • 方法 : 事物的行为,在对象中用方法来表示(常用动词)

例如 : 你的手机 -- 就是对象

而手机的属性有 : 大小、颜色、重量、屏幕尺寸等

手机的行为有 : 打电话,发短信、玩游戏等

为什么需要对象

因为 js对象表达结构更清晰,更强大!

创建对象的三种方式

字面量创建 {}

1、创建

(1)、 里面的属性 或者方法采取键值对的形式

(2)、多个属性或者方法 用 逗号隔开

(3)、方法 冒号后面跟的是一个 匿名函数

image.png

2、使用

(1)、调用对象的属性 采用 对象名.属性名

image.png

(2)、调用属性还有一个方法 对象名['属性名']

image.png

(3)、调用对象的方法 对象名.方法名()

image.png

变量、属性、函数、方法的区别

  • 变量 是单独声明且赋值的,使用的时候直接写变量名

  • 属性 在对象里面的 ,不需要声明,使用的时候是 对象名.属性名

  • 函数 是单独声明的,且调用的时候是 函数名() , 单独存在的

  • 方法 在对象里面 ,调用的时候 对象.方法()

利用 new Object 创建

(1)、利用等号赋值的方法,添加对象的属性和方法

(2)、每个属性和方法之间用分号结束

image.png

image.png

利用构造函数创建

为什么需要构造函数?

因为 前面两种创建对象的方式一次只能创建一个对象 , 而里面很多的属性和方法是大量相同的,我们只能复制

因此我们可以利用函数的方法,重复这些相同的代码,我们就把这个函数称为构造函数

这个函数里面封装的是对象

所以 构造函数就是把对象里面一些相同的属性和方法抽象出来 封装到函数里面

语法规范

 // 语法规范
    function 构造函数名(){
        this.属性 = 值
        this.方法 = function(){}
    }
// 调用
new 构造函数名()

注意点 :

  • 1、构造函数首字母大写

  • 2、构造函数不需要 return 就可以返回结果

  • 3、调用构造函数 必须使用 new

  • 4、只要 new Cp() 调用函数 就创建了一个对象 hua{}

  • 5、属性和方法 前面必须加 this

image.png

构造函数和对象的区别

  • 对象 是 一个具体的事物 , 特指某一个
  • 构造函数 是泛指的某一大类

注 : 利用 构造函数 创建对象 我们称为对象的实例化

new 关键字

new 在执行时 会做四件事情

    1、在内存中创建一个空对象
    2、让 this 指向刚才创建的空对象
    3、执行构造函数里面的代码,给这个新对象添加属性和方法
    4、返回这个新对象 所以构造函数中不需要return


image.png

遍历对象属性 for...in

for...in语句 是对数组或者对象的属性进行循环操作的 ; 因为 对象中是 无序的,所以使用传统for循环,并无法进行遍历

语法规范

for(变量 in 对象){

}

image.png

image.png