zoukankan      html  css  js  c++  java
  • JS原型和继承

    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  实例与原型的链条

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

  • 相关阅读:
    即时搜索(input框)
    HTML的页面IE注释
    浅谈attr()和prop()
    input---checked小问题
    鼠标右键事件
    JavaScript 异步开发全攻略(转)
    remove方法
    javascript 数组以及对象的深拷贝(复制数组或复制对象)的方法
    Hexo的更新 主题的更换
    深浅拷贝,原生和JQuery方法实现
  • 原文地址:https://www.cnblogs.com/hello-web/p/6852739.html
Copyright © 2011-2022 走看看