Javascript模块编程&jQuery插件开发学习笔记
【例1】cnblogs博客弹窗功能
定义(声明)部分
1.在一个function模块内再用一个function声明一个自定义插件成员;第2行
2.对tagPopWin原型链(prototype)进行编程,为这个对象设计功能; 第3行
3.用全局变量指向插件对象,作用是让外部可以调用此对象
1 function (_win, _document, jQuery) { 2 var tagPopWin = function () { 3 //TODO 4 }; 5 tagPopWin.prototype._closeTag = function () {}; 6 tagPopWin.prototype.initPopUp = function () {}; 7 //TODO 8 _win.WzPopup = tagPopWin 9 }(window, document, $);
调用(使用)部分,无输入参数
$(function () { var n = new WzPopup; n.initPopUp() })
【例2】twbsPagination jQuery插件 官网
定义(声明)部分
1.在一个function模块内,再定义成员模块,第2行
2.对TwbsPagination原型链进行编程,第5行; 设置constructor: TwbsPagination; 再设计一些function
3.插件定义部分$.fn.twbsPagination = function (option){} 第12行
3.1 $.fn.twbsPagination.Constructor = TwbsPagination; 将这个插件指向1中所定义的对象 第16行
1 (function ($, window, document, undefined) { 2 var TwbsPagination = function(){ 3 //TODO 4 }; 5 TwbsPagination.prototype = { 6 constructor: TwbsPagination, 7 destroy: function () {}, 8 show: function (page) { 9 //TODO 10 }, 11 }; 12 $.fn.twbsPagination = function (option) { 13 //TODO 14 }; 15 //TODO 16 $.fn.twbsPagination.Constructor = TwbsPagination;//挂载点 17 })(window.jQuery, window, document);
调用(使用)部分
1 $(function () { 2 window.pagObj = $('#pagination').twbsPagination( 3 //option object 4 ) 5 })