javascript面向对象编程代码


Posted in Javascript onDecember 19, 2011
var orchard = function (){ //基类型构造函数代理 静态方法都在代理函数上 
this.constructor && this.constructor.apply(this,arguments); 
}; 
orchard.extend = function() { 
var parentObj = this; 
var parameters = parentObj.parameters ? 
parentObj.parameters.concat(_.toArray(arguments)) : _.toArray(arguments); 
var thisObj = function(){ //继承类型构造函数代理 
var newparameters = parameters.concat(_.toArray(arguments)); 
this.constructor && this.constructor.apply(this,newparameters); 
}; 
_.extend(thisObj,parentObj); 
_.extend(thisObj.prototype,parentObj.prototype); 
thisObj.parameters = parameters; 
thisObj.base = thisObj.prototype.base = parentObj; //基类型的代理函数 
thisObj.supper = thisObj.prototype.supper = parentObj.prototype; //基类型的构造函数 类成员都在构造函数上 
return thisObj; 
}; 
orchard.define = function(object){ 
if(typeof object === "undefined") object = {constructor: function(){}}; 
this.prototype = object.constructor; 
this.prototype.constructor = this.prototype; 
for(var name in this.base) 
if(typeof this[name] === "undefined") 
this[name] = this.base[name]; 
for(var name in this.supper) 
if(typeof this.prototype[name] === "undefined") 
this.prototype[name] = this.supper[name]; 
for(var i = 0; i < arguments.length; i++) 
_.extend(this.prototype,arguments[i]); 
this.prototype.base = this.base; 
this.prototype.supper = this.supper; 
this.supper = undefined; 
delete this.supper; 
return this; 
}; 
orchard.definenew = function(){ 
var newclass = this.extend(); 
return define.apply(newclass,arguments); 
};

调用:
var Person = orchard.definenew({ 
constructor: function(name){ 
this.name = name; 
}, 
say: function(){ return "Hello, i'm " + name;} 
}); 
var aBen = Person.extend("aBen"); 
aBen.define({ 
constructor: function(){ 
this.supper.apply(this,arguments); 
} 
}); 
var aben = new aBen(); 
alert(aben.say());

思路就是这样的,代码没验证过。分享的思路,大家自己看着办。哈哈~~
Javascript 相关文章推荐
懒就要懒到底——鼠标自动点击(含时间判断)
Feb 20 Javascript
JavaScript使用IEEE 标准进行二进制浮点运算产生莫名错误的解决方法
May 28 Javascript
利用js读取动态网站从服务器端返回的数据
Feb 10 Javascript
javascript中的循环语句for语句深入理解
Apr 04 Javascript
jQuery获取对象简单实现方法小结
Oct 30 Javascript
js实现下拉框选择要显示图片的方法
Feb 16 Javascript
浅谈JavaScript字符串与数组
Jun 03 Javascript
Web安全之XSS攻击与防御小结
Dec 13 Javascript
原生js实现随机点餐效果
Dec 10 Javascript
从零使用TypeScript开发项目打包发布到npm
Feb 14 Javascript
react实现复选框全选和反选组件效果
Aug 25 Javascript
解决vue使用vant轮播组件swipe + flex时文字抖动问题
Jan 07 Vue.js
用jQuery模拟页面加载进度条的实现代码
Dec 19 #Javascript
javascript管中窥豹 形参与实参浅析
Dec 17 #Javascript
jquery focus(fn),blur(fn)方法实例代码
Dec 16 #Javascript
JS获取整个页面文档的实现代码
Dec 15 #Javascript
jQuery版仿Path菜单效果
Dec 15 #Javascript
cnblogs 代码高亮显示后的代码复制问题解决实现代码
Dec 14 #Javascript
js 可拖动列表实现代码
Dec 13 #Javascript
You might like
php调用dll的实例操作动画与代码分享
2012/08/14 PHP
WordPress中限制非管理员用户在文章后只能评论一次
2015/12/31 PHP
简单实现php上传文件功能
2017/09/21 PHP
解决laravel-admin 自己新建页面里 js 需要刷新一次的问题
2019/10/03 PHP
用Javascript同时提交多个Web表单的方法
2009/12/26 Javascript
jquery EasyUI的formatter格式化函数代码
2011/01/12 Javascript
JS 控制小数位数的实现代码
2011/08/02 Javascript
关于js datetime的那点事
2011/11/15 Javascript
jQuery实现带动画效果的二级下拉导航方法
2015/03/11 Javascript
JS绘制生成花瓣效果的方法
2015/08/05 Javascript
jQuery实现的超酷苹果风格图标滑出菜单效果代码
2015/09/16 Javascript
AngularJS入门教程之Select(选择框)详解
2016/07/27 Javascript
AngularJS 所有版本下载地址
2016/09/14 Javascript
详谈js中window.location.search的用法和作用
2017/02/13 Javascript
详解HTTPS 的原理和 NodeJS 的实现
2017/07/04 NodeJs
webpack使用 babel-loader 转换 ES6代码示例
2017/08/21 Javascript
Vue render深入开发讲解
2018/04/13 Javascript
swiper在vue项目中loop循环轮播失效的解决方法
2018/09/15 Javascript
Vue动态修改网页标题的方法及遇到问题
2019/06/09 Javascript
初试vue-cli使用HBuilderx打包app的坑
2019/07/17 Javascript
Python 字符串大小写转换的简单实例
2017/01/21 Python
利用Python正则表达式过滤敏感词的方法
2019/01/21 Python
Python异常处理例题整理
2019/07/07 Python
从pandas一个单元格的字符串中提取字符串方式
2019/12/17 Python
python利用百度云接口实现车牌识别的示例
2020/02/21 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
2020/02/27 Python
python学习笔记之多进程
2020/08/06 Python
Python中Yield的基本用法
2020/10/18 Python
全面介绍python中很常用的单元测试框架unitest
2020/12/14 Python
New Balance德国官方网站:购买鞋子和服装
2019/08/31 全球购物
英国购买威士忌网站:Master of Malt
2019/09/26 全球购物
饲料采购员岗位职责
2013/12/19 职场文书
前台文员岗位职责
2013/12/28 职场文书
村委会贫困证明范本
2014/09/17 职场文书
文化大革命观后感
2015/06/17 职场文书
2016高中社会实践心得体会范文
2016/01/14 职场文书