js继承封装(三)
2015-11-14 14:49
603 查看
封装继承方法
对封装方法简单的说明下
这样封装以后,就从一定程度上解决了第二章里面讲到的问题。
//实现继承 subClass为子类 superClass为父类 function extendsClass(subClass,superClass){ var oldPrototype=subClass.prototype; var Clazz=new Function(); Clazz.prototype=superClass.prototype; subClass.prototype=new Clazz(); subClass.prototype.constructor=subClass; for(var key in oldPrototype){ if(oldPrototype.hasOwnProperty(key)){ subClass.prototype[key]=oldPrototype[key]; } } } function UpdateCommand(path) { this.name="修改命令"; this.path = path; this.executeFun=function(){ alert("发送请求1"); } } UpdateCommand.prototype.execute = function () { alert("发送请求2"); } //定义一个查询command函数 function QueryCommand(path) { UpdateCommand.call(this,path); } QueryCommand.prototype.execute=function(){ alert("发送查询请求"); } extendsClass(QueryCommand,UpdateCommand); var queryCommand = new QueryCommand(); queryCommand.execute(); //发送查询请求
对封装方法简单的说明下
//实现继承 subClass为子类 superClass为父类 function extendsClass(subClass,superClass){ //临时存放 用于后面使用 var oldPrototype=subClass.prototype; //生成新函数,通过该函数来实现原型继承,则减少了superClass的实例化 var Clazz=new Function(); clazz.prototype=superClass.prototype; subClass.prototype=new Clazz(); //改变原型继承后子类的constructor 指向 subClass.prototype.constructor=subClass; //保证子类方法重载 for(var key in oldPrototype){ if(oldPrototype.hasOwnProperty(key)){ subClass.prototype[key]=oldPrototype[key]; } } }
这样封装以后,就从一定程度上解决了第二章里面讲到的问题。
相关文章推荐
- Java-JSSE-SSL/TLS编程代码实例-双向认证
- js继承封装(二)
- javascript屏蔽Ctrl+s,F1,F3各浏览器兼容写法
- 原生JS表格行拖动排序,添加了回调功能
- 集合数据在客户端和服务器端以json串形式传递
- Javascript中的深拷贝和浅拷贝
- javascript设置快捷键
- js继承封装(一)
- javaScript---基本语法2(EMCAScript)
- javaScript---基础语法1(EMCAScript)
- 函数
- 提交 form表单js转成json
- JavascriptDOM编程艺术学习笔记4
- 【JavaScript】DOM基础总结
- javascript对word文档进行页眉页脚套打
- Angualrjs插值字符串$interpolate
- Js获取当前日期时间及其它操作
- JavascriptDOM编程艺术学习笔记3
- 使用jsp:include控制动态内容的方法
- javascript动态生成树形菜单的方法