HHJsLib....

/**
 * $Id$
 * @title HHJsLib
 * @description 基地Js库基础类
 * @author xjiujiu (xjiujiu@foxmail.com)
 * @create 2012-08-13 9:30:00
 */
(function($) {
	//事件注册及自动初始化工具脚本
	var HHJsLib = window.HHJsLib = function() {
		//事件注册,寄存器
		var _registered 	= {
			init: []
		};
		
		return {
			//初始化
			init: function() {
				$.each(_registered.init, function(loc, item) {
					//item 为一个数组,item[0] 为对象,item[1]为方法
					//call方法,表示用item[0]调用item[1]
					item[1].call(item[0]);
				});
			},
			//内置通过ID来获取元素对象的方法
			$$: function(id) {
				return document.getElementById(id);
			},
			//扩展方法
			extend: function(props) {
				for(var i in props) {
					if(undefined != props[i]) {
						this[i] 	= props[i];
					}
				}
			},
			//事件的注册
			register: function(obj, func, attr) {
				if(!_registered[attr]) {
					_registered[attr] 	= [];
				}
				//向_registered中添加数组.
				_registered[attr].push([obj, func]);
			}
		};
	}();
	/*文档加载完成,调用初始化方法
	初始化,调用init()方法,而在你的子类中,需要将你的方法注册到这个父类的init数组中来,
	那么每次加载的时候就会自动加载子类的init()。
	这里需要注意的就是子类的init();中需要注册需要用到的方法..
	如: var comments = {
        init:function(){
           this.update();
            this.del();
        },
        update:function(){
            alert("update");
        },
        del:function(){
           alert("delete");
        }
    };*/
	$(function() { HHJsLib.init(); });
})(jQuery);


原文地址:https://www.cnblogs.com/yangzhi/p/3576561.html