js扩展插件实现原理及代码
2016-07-28 18:02
513 查看
jquery的强大不仅在于它的工具方法很多,而且扩展性也很好。
下面我用一个例子介绍下它 扩展接口 的实现原理(核心代码简化了,因为extend实际还包含深、浅拷贝):
下面我用一个例子介绍下它 扩展接口 的实现原理(核心代码简化了,因为extend实际还包含深、浅拷贝):
function JQ(){ return new JQ.prototype.init(); } JQ.prototype = { init : function(){ console.log('对象初始化了!'); } } JQ.prototype.init.prototype = JQ.prototype; //JQ原型指向init //扩展插件底层代码简化版 JQ.extend = JQ.prototype.extend = function() { var options, name , src; //arguments是调用JQ.prototype.extend函数传入的实参 for(var i = 0; i < arguments.length ; i++){ //这个例子中 arguments.length == 2 if((options = arguments [i] )!= null){ for(name in options){ src = options[name]; this[name] = src; //拓展插件 } } } } //扩展窗体插件 JQ.prototype.extend({ openWindow : function(name){ console.log( name + '调用打开窗体插件成功!' ); } }) JQ().openWindow('许文祥'); //对象初始化了! // 许文祥调用打开窗体插件成功!
相关文章推荐
- 汤姆大叔的6道javascript编程题题解
- 你应该知道的25道Javascript面试题
- JSP页面显示当前时间的后3天
- 导入项目,jsp报错解决办法
- js 定时器
- 【知识积累】详解JSP
- web上传下载之--FormData对象上传(单个和多个(待测试))
- respond.js 在IE8不起作用
- LeetCode Javascript实现 344. Reverse String 292. Nim Game 371. Sum of Two Integers
- JavaScript学习二
- Javascript 基本 4000 一
- JavaScript中的数值范围介绍
- 一个仿微博登陆邮箱提示框js开发案例
- JavaScript Base64编码解码代码
- 利用JS实现数字增长
- js树形控件—zTree使用总结
- 灵活使用数组制作图片切换js实现
- [置顶] 在网页中使用js简单的实现弹出菜单,请高手飘过
- JS原型与原型链终极详解
- js回调函数小例子