1

面向对象详解

对象

  • JavaScript 中的所有事物都是对象:字符串、数值、数组、函数此外,JavaScript 允许自定义对象。
  • 对象只是带有属性和方法的特殊数据类型。

创建 JavaScript 对象

  • 创建单一对象
  • 构造函数创建对象

直接创建单一对象

单一对象适用于对象数量较少,创建属性,方法都不同的对象。

下面我使用了我们常用的 var 创建,例如我们创建一个dog对象

var dog = {
    name = "jack"
}

构造函数创建对象

函数创建对象适用于属性大多相同,需要较多对象时使用。

function Dog(name){
    this.name=name;
}
Dog.prototype.run = function(){
    console.log("蹦蹦跳跳")
}
var dog = new Dog("jack")

构造函数的名字首字母需要大写,之后再用.prototype.方法 绑定一个方法,最后创建dog对象需要在构造函数Dog前面加上一个new,传进一个name参数。

在这里,我们需要明确一个概念,就是对象和类

  • 类是对象泛化(抽象)出来的
  • 对象是由类创建出来的
  • 对象叫类的具体实例

父子类

父类
    function A(x,y){
        this.name=x,
        this.age=y
    }
    A.prototype.run=function(){
        console.log("跑")
    }
子类-继承

如何让子类继承父类的属性和方法,那么我们需要想下面这样做

function B(x,y){
    A.apply(this,arguments)
} 
// 使B继承了A的属性
B.prototype=object.create(A.prototype)
// 使B继承了A的方法

那么我们又如何添加B自己的属性和方法呢?

我们只需要向构建函数时候那样添加就可以了

function B(x,y,z){
    A.apply(this,arguments);
    this.hair=z;
}
B.prototype=object.create(A.prototype);
B.prototype.jump=function(){
    console.log("跳");
}

你学会了吗?

Image text
喜欢的点个赞呗。


Smallmotor
478 声望33 粉丝

心若向阳