时间:2020-11-28 14:17:49 | 栏目:JavaScript代码 | 点击:次
今天没事的时候,研究了一下JS继承的实现,下面是html的源码:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>JS类的继承的实现</title> <script type="text/JavaScript"> //定义父类及公有、私有、静态属性及方法 function parent(){ var pname = "private";//私有属性 var pfun = function(){//私有方法 console.log("调用类的私有方法"); } this.getName=function(name){//公有方法 this.name = name;//公有属性 return pname+"私有属性+公有属性"+this.name+"调用类的共有方法"; } } //定义静态属性及方法 parent.staticPro = "static property"; parent.staticFun = function(){ var str = "invoke class's static function"; return str; } //方法1 原型链继承 function childOne(){}; childOne.prototype = new parent(); //方法2 call/apply继承 function childTwo(){ parent.call(this); } function init(){ var c1 = new childOne(); console.log(c1.getName("child1"));// console.log(c1.name); var c2 = new childTwo(); console.log(c2.getName("child2")); console.log(c2.name); console.log(parent.staticPro); console.log(parent.staticFun()); } </script> </head> <body onload="init();"> <header>页眉</header> </body> </html>