JavaScript对象及初识面向对象

第四章 JavaScript对象及初识面向对象

对象

  1. 回顾JavaScript数据类型

number(数值类型)

string(字符串类型)

boolean(布尔类型)

null(空类型)

undefined(未定义类型)

Object:一种复杂的数据类型,该类型实例化的对象是一组数据和功能的集合。

  1. 对象是什么

概念:在JavaScript中所有事物都是对象,如字符串,数字,数组,日期等。

对象是包含相关属性和方法的集合体

JavaScript中,对象是拥有属性和方法的数据。属性是与对象相关的值,方法是能够在对象上执行的动作。

面向对象仅仅是一个概念或者编程思想而已,它不应该依赖于某个语言存在,JavaScript语言是通过一种叫作原型的方式来实现面向对象。

  1. 创建对象

js创建对象:

var 对象名={

属性名:,

属性名:,

方法名:function(){

方法体;

}

}

使用:对象名.方法名();

function aa(){

方法体;

}

  1. 自定义对象

var 对象名称=new Object();

  1. 内置对象

String(字符串)对象

Date(日期)对象

Array(数组)对象

Boolean(逻辑)对象

Math(算数)对象

RehExp对象

构造函数和原型对象

  1. 构造函数
  2. 给变量赋值(大部分要加参数)

特点:

1.和类名相同

2.new的时候自动调用

检测当前对象的构造函数是否是当前类所属的这个类的构造函数

constructor属性

对象.constructor

返回值是对象的构造函数

instanceof  *******

实例对象 new  类名(); 每一个实例对象占有一个单独的内存空间

调用构函数的4个步骤

(1) 创建一个新对象

(2) 将构造函数的作用域赋给新对象(this就指向这个新对象)

(3) 执行构造函数中的代码

(4) 返回新对象

  1. 原型对象

每一个函数都有prototype属性 这个属性的返回值是对象    这个对象就叫原型对象

这个原型对象拥有了构造函数的所有属性和方法,并且所有实例对象共享这些属性和方法

继承

  1. 原型链

原型链:一个原型对象是另一个原型对象的实例,

    相关的原型对象层层递进 实例对象和原型对象构成的链条

继承 有两个构造函数

继承:其中一个原型对象=另一个实例对象

这个原型对象有了另一个实例对象的所有属性和方法

当前这个原型对象的实例对象有了他自己的属性和方法

等价于  当前对象有了父类的属性和方法

弊端:

当原型对象修改了父类的值之后

其他的实例对象调用的时候都是修改过的

解决方法:借用构造函数:

在子类构造函数中写一句:

父类.call(this,参数);

相当于吧父类的构造临时借给子类用

其他的实例对象不受影响

  1. 对象继承

借用构造函数:在子类型构造函数的内部调用父类型构造函数,即在子类型构造函数的内部通过apply()call()方法调用父类型的构造函数,也可以在将来新创建的对象上执行构造函数。

apply([thisOjb[,argArray]])

call([thisOjb[,argl[,arg2[,[argN]]]]])

组合函数:有时也叫作伪经典继承,指的是将原型链和借用构造函数的技术组合到一块,从而发挥二者之长的一种继承模式。

posted @ 2021-09-30 20:34  愿归零  阅读(33)  评论(0编辑  收藏  举报