`
mylove2060
  • 浏览: 331094 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Javascript 面向对象编程继承方法四(原型继承)

阅读更多
function Person(name,age,position){      
      this.name = name;      
      this.age = age;      
      this.position = position;        
 }      
 
 Person.prototype.displayInfo = function(){      
       alert("[Name: "+ this.name +"]  [Age: "+this.age+"]  [position: "+this.position+"]");      
 }     
  
 function Programmer(name,age,position){      
        this.tempObject = Person;     //声明临时指针指向父类     
        this.tempObject(name,age,position);        
      /*    
         相当于调用函数Person(...),调用父类构造函数,没有new,this指向子类,  
         进而有:this.displayInfo = function()    
          相当于:this.person = function(){    
                                this.display = function()                             
                         }    
      */     
       delete this.tempObject;   //删除临时指针,防止通过tempObject引用覆盖超类Person的属性和方法     
                // Person.call(this , name,age,position);   
                // Person.apply(this ,new Array(name,age,position));
 }      
  
Programmer.prototype = new Person();   
  
 var oBpmProgrammer = new Programmer("Kevin",24,"BPM Programmer");      
 var oBopReportDeveloper = new Programmer("Witkey",25,"BOP Report Developer");      
 oBpmProgrammer.displayInfo();    //[Name: Kevin] [Age: 24] [position: BPM Programmer]      
 oBopReportDeveloper.displayInfo(); //[Name: Witkey] [Age: 25] [position: BOP Report Developer]  
  
      /*              
        this.tempObject = Person;     //声明临时指针指向父类     
        this.tempObject(name,age,position);       
       delete this.tempObject;   //删除临时指针,防止通过tempObject引用覆盖超类Person的属性和方
法     
        以上三行代码从Person继承name,age,position属性,同理
        Person.call(this , name,age,position);  和Person.apply(this ,new Array(name,age,position));
 
       如果是使用以下方法,还是一样要有:programmer.prototype = new Person();   
               Person.call(this , name,age,position); 或Person.apply(this ,new Array(name,age,position));
 
               programmer.prototype = new Person();   继承原型方法或属性
*/
分享到:
评论

相关推荐

    JavaScript面向对象编程指南

    《JavaScript面向对象编程指南》内容包括:JavaScript作为一门浏览器语言的核心思想;面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码...

    JavaScript面向对象编程指南.pdf

    JavaScript作为一门浏览器语言的核心思想;面向对象编程的基础知识及其在... 《JavaScript面向对象编程指南》着重介绍JavaScript在面向对象方面的特性,展示如何构建强健的、可维护的、功能强大的应用程序及程序库

    javascript面向对象编程

    面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码重用为目的的继承模式;BOM、DOM、浏览器事件、AJAX和JSON;如何实现JavaScript中缺失的...

    JavaScript 面向对象编程详细讲解文档

    原型是理解继承概念的关键, 我们将会教你如何建立原型, 如何检测一个对象是否是另外一个对象的原型, 及其 JavaScript 的模型与Java 面向对象编程之间的区别。我们同样会向你展示如何检测对象所包含的各种属性的方法...

    JavaScript面向对象编程指南 英文版

    《JavaScript面向对象编程指南》内容包括:JavaScript作为一门浏览器语言的核心思想;面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码...

    JavaScript面向对象编程指南 有书签

    《JavaScript面向对象编程指南》内容包括:JavaScript作为一门浏览器语言的核心思想;面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码...

    JavaScript面向对象编程指南 第2版 高清 带索引书签目录_样章.pdf

    JavaScript面向对象编程指南 第2版 高清 带索引书签目录_样章.pdf,风格轻松易懂,比较适合初学者,原型那块儿讲得透彻,12种继承方式呢。

    JavaScript面向对象编程指南 带目录版

    风格轻松易懂,比较适合初学者,原型那块儿讲得透彻,12种继承方式等。

    JavaScript面向对象编程指南(第2版)

    1.本书是唯一一本介绍JavaScript面向对象编程的图书。, 2.本书作者是知名的Web开发人员和作者。受到国内众多前端开发人员,如淘宝UED团队的推崇和推荐。 Stoyan Stefanov:Facebook公司工程师、作家、演说家。他经常...

    讲解JavaScript的面向对象的编程

    本人一行注释一行代码翻译了该大师的艺术作品--目的说明它是在第1,2阶段文档演示的JavaScript面向对象的书写方式的进一步改进,它是现代JavaScript面向对象编程方式(使用基本类来编码)的过渡代码--没有它就没有当今...

    JavaScript面向对象程序设计中对象的定义和继承详解

    本文实例讲述了JavaScript面向对象程序设计中对象的定义和继承。分享给大家供大家参考,具体如下: 在面向对象的Javascript编程中,希望代码优雅有高效是非常重要的。javascript中不存在类的概念,只有对象。要想把...

    JavaScript使用原型和原型链实现对象继承的方法详解

    实际上JavaScript并不是一门面向对象的语言,不过JavaScript基于原型链的继承方式、函数式语法,使得编程相当灵活,所以可以利用原型链来实现面向对象的编程。 之前对JavaScript一直都是一知半解,这两天看了一下...

    写给大家看的面向对象编程书(第3版).[美]Matt Weisfeld(带详细书签).pdf

    本书是一部独具特色的面向对象技术著作。书中结合代码示例生动透彻地讲述了面向对象思想的精髓,让读者真正学会以对象方式进行思考。此外,本书还讨论了各种与面向对象概念密切相关的应用主题,包括XML、UML建模语言...

    worldwindjava源码-javascript-oop:面向对象编程和面向对象JavaScript

    中的面向对象编程 学习目标 使用构造函数生成特定类型的对象。 使用构造函数将属性附加到新对象。 回想一下在构造函数中定义方法的成本。 通过将自定义对象附加到原型来定义自定义对象的方法。 使用 ES6 类语法重构...

Global site tag (gtag.js) - Google Analytics