zl程序教程

您现在的位置是:首页 >  前端

当前栏目

JavaScript笔记(7)

2023-06-13 09:12:59 时间

又想起第一次学Python学到对象的时候被支配的恐惧,好在现在已经理解了

JavaScript对象

什么是对象

现实生活中,万物皆对象,对象是一个具体的事物,看得见摸得着的实物,例如: 一本书,一辆汽车,一个人可以是对象,一个数据库,一张网页,一个与远程服务器的连接也可以是"对象".

在JS中,对象是一组无序的相关属性和方法的集合,所有的事物都是对象,例如字符串,数值,数组,函数等.

对象的组成:

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

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

对象的创建方法

在JS中,现阶段我们可以采用三种方式创建对象(object).

  • 利用字面量创建对象
  • 利用new Object创建对象
  • 利用构造函数创建对象

1.对象字面量:就是花括号{}里面包含了表达这个具体事物(对象)的属性和方法(其实类似于Python中的字典)

现在里面就可以放入属性了,但是记住一定要用逗号隔开!!另外注意要用冒号,而不是'='.

里面还可以写入方法:

注意:

  • 里面的属性或者方法我们采用键值对的形式(键 属性名 : 值 属性值)
  • 多个属性或者方法中间用逗号隔开的
  • 方法冒号后面跟的是一个匿名函数

使用对象

1. 调用对象的属性,我们采取 对象名.属性名

2. 调用属性还有一种方法: 对象名['属性名']

调用方法:我们采取的是: 对象名.方法名()

变量 属性 函数 方法的关系

变量和属性:

相同点: 他们都是用来存储数据的

  • 变量:单独声明并赋值,使用的时候直接写变量名,单独存在.
  • 属性:在对象里面的不需要声明,使用的时候必须是 对象.属性

函数和方法:

相同点:都是实现某种功能,做某件事

  • 函数:函数是单独声明,并且调用的 函数名( ), 单独存在的.
  • 方法:在对象里面,调用的时候 对象.方法( ).

2.new Object创建对象:

和前面的var arr = new Array()类似.

注意这里的就是' = '赋值,而不是' : ', 每个属性和方法都用' ; '来结尾

3.构造函数

构造函数是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋初始值,它总与new运算符一起使用.我们可以把对象中一些公共的属性和方法抽取出来,然后封装到这个函数里面.

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

语法:

function 构造函数名 ( ) {

this.属性名 = 值

this.方法 = function ( ) { }

}

new 构造函数名 ( )

  • 调用函数返回的是一个对象
  • 构造函数的名字首字母一定要大写
  • 我们构造函数不需要return就可以返回结果
  • 我们构造函数调用必须要用new
  • 形参和值是相同的,this后面的属性是可以和形参不同的
  • 属性和方法前面必须有this.

构造函数 ,类似于Python里面的类

对象,特指具体的事物

我们利用构造函数创建对象的过程也称为对象的实例化

本文由“壹伴编辑器”提供技术支持

new关键字执行过程:

1.new 构造函数在内存中创建了一个新的对象

2.this 就会指向刚才创建的对象

3.执行构造函数里面的代码,给这个空对象添加属性和方法

4.返回这个对象

本文由“壹伴编辑器”提供技术支持

遍历对象属性

for...in语句用于对数组或者对象的属性进行循环操作.

for (var k in obj) {

console.log(k); // k变量 输出得到的是属性名

console.log(obj[k]) // obj[k]得到的是属性值