码迷,mamicode.com
首页 > Web开发 > 详细

JS原型和继承

时间:2017-05-14 16:57:26      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:func   type   概念   his   内置对象   show   bsp   简单   添加   

1.创建对象的方式

工厂模式:使用简单的函数构造函数,为对象添加属性与方法,然后返回对象。这个模式后来被构造函数模式取代

构造函数模式:可以创建自定义引用类型,可以向创建内置对象实例一样使用new

原型模式:使用构造函数的prototype属性来指定那些应该共享的属性和方法。

组合使用狗仔函数模式与原型模式时,使用构造函数来定义实例属性,使用原型来定义共享的属性和方法。

2.继承

原型链继承共享的属性和方法,借助构造函数继承实例属性

function Person(name,sex){
    this.name=name;
    this.sex=sex;
}
Person.prototype.showName=function(){
    alert(this.name);
}
Person.prototype.showSex=function(){
    alert(this.sex);
}

function Worker(name,sex,job){
    Person.call(this,name,sex);
    this.job=job;
}
for(var in Person.prototype){
    Worker.prototype[i]=Person.prototype[i];
}
Worker.prototype.showJob=function(){
    alert(this.job);
}
var obj=new Worker(‘blue‘,‘女‘,‘计算机‘);
obj.showName();
obj.showSex();
obj.showJob();

3.一些基本概念

原型对象:每个构造函数都有一个属性---原型对象(prototype)。fun.prototype  就是fun的一个实例对象。就在fun创建的时候,就创建了一个它的实例对象并赋值给它的prototype。

原型对象的作用:主要用来继承

原型链:JS在创建对象的时候,无论是普通对象还是函数对象,都有一个叫_proto_的内置属性,用于指向创建它的函数对象的原型对象prototype  实例与原型的链条

总结:每个构造函数都有一个原型对象。原型对象都包含一个指向构造函数的指针,而实例都包含了一个指向原型对象的内部指针。

JS原型和继承

标签:func   type   概念   his   内置对象   show   bsp   简单   添加   

原文地址:http://www.cnblogs.com/hello-web/p/6852739.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!