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 相关文章推荐
常见效果实现之返回顶部(结合淡入、淡出、减速滚动)
Jan 04 Javascript
采用自执行的匿名函数解决for循环使用闭包的问题
Sep 11 Javascript
深入理解JavaScript系列(42):设计模式之原型模式详解
Mar 04 Javascript
详解Node.js如何开发命令行工具
Aug 14 Javascript
javascript回调函数的概念理解与用法分析
May 27 Javascript
如何在基于vue-cli的项目自定义打包环境
Nov 10 Javascript
js作用域和作用域链及预解析
Apr 11 Javascript
Vue+elementui 实现复杂表头和动态增加列的二维表格功能
Sep 23 Javascript
JavaScript实现猜数字游戏
May 20 Javascript
Vue3新特性之在Composition API中使用CSS Modules
Jul 13 Javascript
Jquery Fade用法详解
Nov 06 jQuery
详解vite+ts快速搭建vue3项目以及介绍相关特性
Feb 25 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
自动把纯文本转换成Web页面的php代码
2009/08/27 PHP
php中批量删除Mysql中相同前缀的数据表的代码
2011/07/01 PHP
php 表单提交大量数据发生丢失的解决方法
2014/03/03 PHP
Swoole扩展的6种模式深入详解
2021/03/04 PHP
js下关于onmouseout、事件冒泡的问题经验小结
2010/12/09 Javascript
Extjs 继承Ext.data.Store不起作用原因分析及解决
2013/04/15 Javascript
js登录弹出层特效
2014/03/07 Javascript
JavaScript实现网页截图功能
2014/10/16 Javascript
JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果
2015/10/14 Javascript
js性能优化技巧
2015/11/29 Javascript
使用javascript插入样式
2016/03/14 Javascript
nodejs简单实现操作arduino
2016/09/25 NodeJs
AngularJS过滤器filter用法分析
2016/12/11 Javascript
微信小程序 label 组件详解及简单实例
2017/01/10 Javascript
nodejs基础应用
2017/02/03 NodeJs
Ionic + Angular.js实现图片轮播的方法示例
2017/05/21 Javascript
基于vue监听滚动事件实现锚点链接平滑滚动的方法
2018/01/17 Javascript
Vue项目使用CDN优化首屏加载问题
2018/04/01 Javascript
JavaScript面向对象继承原理与实现方法分析
2018/08/09 Javascript
解决vue-cli项目打包出现空白页和路径错误的问题
2018/09/04 Javascript
详解如何使用koa实现socket.io官网的例子
2018/11/04 Javascript
JS监听事件的叠加和移除功能
2018/11/19 Javascript
JS二级菜单不同实现方法分析【4种方法】
2018/12/21 Javascript
详解Vue中的MVVM原理和实现方法
2020/07/15 Javascript
[01:07]DOTA2次级职业联赛 - Fpb战队宣传片
2014/12/01 DOTA
python计算N天之后日期的方法
2015/03/31 Python
Python中正则表达式的用法总结
2019/02/22 Python
python实现弹窗祝福效果
2019/04/07 Python
python获取微信企业号打卡数据并生成windows计划任务
2019/04/30 Python
uniapp+Html5端实现PC端适配
2020/07/15 HTML / CSS
优衣库英国官网:UNIQLO英国
2016/12/25 全球购物
一级方程式赛车官方网上商店:F1 Store(支持中文)
2018/01/12 全球购物
党性教育心得体会
2014/09/03 职场文书
领导干部“四风”问题批评与自我批评材料
2014/09/24 职场文书
民警群众路线教育实践活动对照检查材料
2014/10/04 职场文书
四风问题对照检查材料思想汇报
2014/10/07 职场文书