20JS11——JS对象

文章目录

  • 一、对象
  • 二、创建对象的三种方式
    • 1、利用字面量创建对象
    • 1.1 使用对象
    • 1.2 变量、属性、函数、方法总结
    • 2、利用new Object创建对象
    • 3、利用构造函数创建对象
      • (1)为什么使用构造函数?
      • (2)利用构造函数创建对象
      • (3)构造函数和对象
  • 三、new关键字
  • 四、遍历对象属性
  • 五、小结

目标:
1、对象
2、创建对象的三种方式
3、new关键字
4、遍历对象属性

一、对象

在JavaScript中,对象是一组无序的相关属性和方法的集合,所有的事物都是对象,例如字符串、数值、数组、函数等。
对象是由属性和方法组成的。
· 属性:事物的特征,在对象中用属性来表示(常用名词)
· 方法:事物的行为,在对象中用方法来表示(常用动词)

二、创建对象的三种方式

在JavaScript中,现阶段我们可以采用三种方式创建对象(object):
· 利用字面量创建对象
· 利用new Object创建对象
· 利用构造函数创建对象

1、利用字面量创建对象

20JS11——JS对象_第1张图片
(1)里面的属性或者方法我们采取键值对的形式键属性名:值属性值
(2)多个属性或者方法中间用逗号隔开的
(3)方法冒号后面跟的是一个匿名函数

1.1 使用对象

(1)调用对象的属性
方法一:
对象名.属性名
在这里插入图片描述
方法二:
对象名[‘属性名’]
在这里插入图片描述

(2)调用对象的方法
对象名.方法名()
在这里插入图片描述

千万别忘记加小括号

1.2 变量、属性、函数、方法总结

· 变量:单独声明赋值,单独存在
· 属性:对象里面的变量称为属性,不需要声明,用来描述该对象的特征
· 函数:单独存在的,通过“函数名(”的方式就可以调用
· 方法:对象里面的函数称为方法,方法不需要声明,使用“对象方法名()”的方式就可以调用,方法用来描述该对象的行为和功能。

2、利用new Object创建对象

20JS11——JS对象_第2张图片
(1)利用 等号 = 赋值的方法,添加对象的属性和方法
(2)每个属性和方法之间用 分号结束
(3)使用对象:
20JS11——JS对象_第3张图片

3、利用构造函数创建对象

(1)为什么使用构造函数?

因为我们一次创建一个对象,里面很多的属性和方法是大量相同的 我们只能复制。
因此我们可以利用函数的方法 重复这些相同的代码 我们就把这个函数称为 构造函数,
又因为这个函数不一样,里面封装的不是普通代码,而是对象。
构造函数 就是把我们对象里面一些相同的属性和方法抽象出来封装到函数里面。

(2)利用构造函数创建对象

声明构造函数:
20JS11——JS对象_第4张图片
调用构造函数:
20JS11——JS对象_第5张图片
例如:
20JS11——JS对象_第6张图片20JS11——JS对象_第7张图片

(1)构造函数名字首字母要大写
(2)构造函数不需要人return就可以返回结果
(3)调用构造函数,必须使用new
(4)我们只要new Star()调用函数就创建一个对象ldh{ }
(5)属性和方法前面必须添加this

(3)构造函数和对象

· 构造函数,如Stars),抽象了对象的公共部分,封装到了函数里面,它泛指某一大类(class)
·创建对象,如newStars(),特指某一个,通过new关键字创建对象的过程我们也称为对象实例化
20JS11——JS对象_第8张图片
对象的实例化: 利用构造函数创建对象的过程称
20JS11——JS对象_第9张图片

三、new关键字

new在执行时会做四件事情:
1.在内存中创建一个新的空对象。
2.让this指向这个新的对象。
3.执行构造函数里面的代码,给这个新对象添加属性和方法。
4.返回这个新对象(所以构造函数里面不需要return)。

抽象记忆:
20JS11——JS对象_第10张图片

四、遍历对象属性

20JS11——JS对象_第11张图片
20JS11——JS对象_第12张图片
20JS11——JS对象_第13张图片
20JS11——JS对象_第14张图片

使用for in联动变量,我们喜欢写 k 或者 key

五、小结

1.对象可以让代码结构更清晰
2.对象复杂数据类型object
3.本质:对象就是一组无序的相关属性和方法的集合。
4.构造函数泛指某一大类,比如苹果,不管是红色苹果还是绿色苹果,都统称为苹果。
5.对象实例特指一个事物,比如这个苹果、正在给你们讲课的pink老师等。
6.for.…in语句用于对对象的属性进行循环操作。

你可能感兴趣的:(零基础前端,CSS,javascript,开发语言,ecmascript)