ExtJS底层继承机制实现
来源:互联网 发布:php输出pdf字节流 编辑:程序博客网 时间:2024/06/05 20:31
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <script> function extend(sub,sup){ //实现只继承父类的原型对象 //1.用一个空函数进行中转 var F = new Function(); //2.实现空函数的原型对象和超类的原型对象转换 F.prototype = sup.prototype; //3.原型继承 sup.prototype = new F(); //4.还原子类的构造器 sub.prototype.constructor = sub; //5.保存一下父类的原型对象,一方面方便解耦,另一方面方便获取父类的原型对象,实现方法重载 sub.superClass = sup.prototype; //自定义一个子类的静态属性,接收父类的原型对象 //6.判断父类原型对象的构造器 if(sup.prototype.constructor == Object.prototype.constructor){ sup.prototype.constructor = sup; //手动还原父类对象的构造器 } } function Person(name,age){ this.name = name; this.age = age; } Person.prototype = { constructor: Person, //还原构造器,这里其实可以不用还原,因为在extend方法中已经实现了 sayHello: function(){ alert('hello world!'); } } function Boy(name,age,sex){ //绑定父类函数模版,实现构造函数继承,只复制了父类的模版 Boy.superClass.constructor.call(this,name,age); this.sex = sex; } extend(Boy,Person); //给子类添加一个原型对象方法 Boy.prototype.sayHello = function(){ alert('hello,javascript'); } Boy.superClass.sayHello.call(b); //实现方法重载,调用父类的方法 var b = new Boy('z3',20,'nan'); alert(b.name); alert(b.sex); b.sayHello(); //调用子类重载的方法 </script></body></html>
0 0
- ExtJS底层继承机制实现
- 经典继承方法实现(模拟extjs底层继承机制)
- javascript原型继承-实现extjs底层继承(2)
- 模拟ExtJS底层继承(原理)
- EXTJS的继承机制
- ExtJS 3.4 类继承机制
- extjs实现继承
- C++对象模型Data语意学分析、虚继承底层实现机制
- 虚函数底层实现机制
- c++ 引用 底层实现机制
- Extjs继承机制和窗体创建
- 虚继承初始化的底层实现
- 继承机制的实现
- ECMAScript 继承机制实现
- JavaScript_ECMAScript 继承机制实现
- ECMAScript 继承机制实现
- js继承机制实现
- js实现继承机制
- JAVA 线程之带有返回值的Callable和Future
- 神经机器翻译的前世今生--转自散文网
- SQL Server返回插入数据的ID和受影响的行数
- android studio 使用系统源码编译出来的api
- eclipse左边的项目栏不见了的处理方法
- ExtJS底层继承机制实现
- Android:自定义ImageView展示大图中的指定区域并切圆角(雪碧图)
- 生产者消费者模型
- HTTP1.1的变化
- 树莓派自带的vnc连接,并设置自启动
- nodejs模块:简单http请求路由,仿express
- C++自用模板
- 背包问题 V2 (51Nod
- 通信行业有哪些岗位是比较热门?