构造函数和实例的关系

作者: FF_C | 来源:发表于2017-12-01 17:29 被阅读0次

抽象和具体的关系
构造函数:抽象,定义的是一类对象应该具有什么属性,什么 方法,描述规则,描述蓝图。
实例:具体,根据蓝图创建一个个具体的实例,它能拥有属性,并且能调用方法。

function Dog(){
  this.mingzi = mingzi;
  this.tizhong = tizhong;
}
var xiaobai = new Dog("小白",100);
var xiaohong = new Dog("小红",150);

等价于

var xiaobai={   //字面量写法
  xingming:"小白",
  tizhong:100
};
var xiaohong={   //字面量写法
  xingming:"小红",
  tizhong:150
};
//Dog构造函数
function Dog(){
  this.mingzi = mingzi;
  this.tizhong = tizhong;
}
//吃饭方法,是自己实例在调用这个方法
Dog.prototype.chifan = function(){
   alert(this.mingzi+"正在吃饭");
   this.tizhong +=10;
}
var xiaobai = new Dog("小白",100);
xiaobai.chifan(); 
alert(xiaobai.tizhong);//110

构造函数中,我们用prototype来定义方法,定义的是构造函数的实例方法,不是构造函数的方法

<input type="button" value="喂所有的狗吃饭" id="btn"/>

function Dog(){
  this.mingzi = mingzi;
  this.tizhong = tizhong;
}
//吃饭方法,是自己实例在调用这个方法
Dog.prototype.chifan = function(){
   alert(this.mingzi+"正在吃饭");
   this.tizhong +=10;
   //所自己放入数组
   dogsArr.push(this);
}

var dogsArr=[];

var xiaobai = new Dog("小白",100);
var xiaohong = new Dog("小红"1500);
var dahuang = new Dog("大黄",200);
//点击按钮,调用所有小狗的吃饭方法
document.getElementById("btn").onclick=function(){
  for(var i =0; i<dogsArr.length;i++){
    dogsArr[i].chifan();
  }
}

相关文章

  • 原型模式

    p1 打印如下 构造函数、构造函数实例对象、构造函数原型属性 之间的关系

  • 原型链继承

    构造函数的prototype属性 实例和构造函数和原型父构造函数的实例作为子构造函数prototype属性,则实现...

  • JS继承与原型链

    构造函数,原型和实例的关系: 每个构造函数(constructor)都有一个原型对象(prototype),原型对...

  • 原型链

    构造函数、原型、实例的关系 通过构造函数创建实例 每个构造函数都有一个原型对象 原型对象到包含一个指向构造函数的指...

  • 原型链

    简单回顾一下构造函数、原型和实例的关系:每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例...

  • JS-进阶-Day1

    创建对象 的三种方式: 工厂模式和自定义构造函数的区别: 构造函数和实例对象之间的关系: 原型的引入 构造函数和实...

  • 继承

    构造函数、原型和实例的关系: 每个构造函数都有其对应的原型对象;每个原型对象都有一个构造函数指针construct...

  • 构造函数和实例的关系

    抽象和具体的关系构造函数:抽象,定义的是一类对象应该具有什么属性,什么 方法,描述规则,描述蓝图。实例:具体,根据...

  • 继承的几种方式

    构造函数,原型和实例的关系每个构造函数都有一个原型对象prototype,原型对象中有个constructor属性...

  • js构造函数

    构造函数 系统自带的构造函数 对象和构造函数是两回事 对象是通过实例化构造函数而构造的对象实例 自定...

网友评论

    本文标题:构造函数和实例的关系

    本文链接:https://www.haomeiwen.com/subject/trpwbxtx.html