首页 > 代码库 > 前端修炼-javascript关键字之prototype

前端修炼-javascript关键字之prototype

   通常来说,javascript中的对象就是一个指向prototype的指针和一个自身的属性列表。只有构造器(Object,Function,Array,Date,String)才具有且会有一个prototype属性。原型链继承就是创建一个新的指针,指向构造器的prototype属性。

 prototype属性列表会默认有一个constructor(构造函数)属性,这个属性是一个指向prototype属性所在指针,也就是当前对象自己。

    

 1 function baseClass() 2 { 3     this.showMsg = function() 4     { 5         alert("baseClass::showMsg");    6     } 7     8     this.baseShowMsg = function() 9     {10         alert("baseClass::baseShowMsg");11     }12 }13 baseClass.showMsg = function()14 {15     alert("baseClass::showMsg static");16 }17 18 function extendClass()19 {20     this.showMsg =function ()21     {22         alert("extendClass::showMsg");23     }24 }25 extendClass.showMsg = function()26 {27     alert("extendClass::showMsg static")28 }29 30 extendClass.prototype = new baseClass();31 var instance = new extendClass();32 33 instance.showMsg(); //显示extendClass::showMsg34 instance.baseShowMsg(); //显示baseClass::baseShowMsg35 instance.showMsg(); //显示extendClass::showMsg36 37 baseClass.showMsg.call(instance);//显示baseClass::showMsg static38 39 var baseinstance = new baseClass();40 baseinstance.showMsg.call(instance);//显示baseClass::showMsg

 

前端修炼-javascript关键字之prototype