您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > JSP >

js自定义消息机制研究学习(一) ——看百度搜索输入提示

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 09:33 点击:

之前有一次为了做一个类似于谷歌、百度的输入提示,扒了百度的代码(现在的地址http://www.baidu.com/js/bdsug.js?v=1.0.3.0,格式化一下再看)研究了一番,发现百度的消息机制简洁有效,之后根据它写了一套自己的消息机制,应用在其后的一个web ajax聊天程序中。之后和朋友讨论后,完善了一下,做了一个类似于event的事件机制(在普通object上模拟dom事件的自定义事件),现在基于类似的机制应用到了目前的ERP项目中实现了一套js插件机制、iframe通信机制等等(我很惭愧,太懒了,没有学习使用现成的js框架,自己又造了个轮子),现在勤劳一下,拿出来让大家乐呵乐呵,本人主攻后台开发,js只是业余爱好,欢迎指正。

 

 

 

 

 

先说说百度的代码,核心的东西,如下:

 

 

baidu Code

var J = (function(){        function C(b){            var Z = this.__MSG_QS__;            if (!Z[b]) {                Z[b] = []            }            for (var a = 1, X = arguments.length, Y; a < X; a++) {                Z[b].push(arguments[a])            }        }        function G(Y){            var Z = this.__MSG_QS__[Y.type];            if (Z == null) {                return            }            for (var a = 0, X = Z.length; a < X; a++) {                Z[a].rm(Y)            }        }        return {            ini: function(X){                X.__MSG_QS__ = {};                X.on = C;                X.dm = G;                return X            }        }    })();代码是经过压缩处理的,我比较懒,不乱猜测其原名了。

 

这算是一个很轻量级的消息机制,执行这段代码,获得了J这个对象,可以从代码看出J={ini:function(){……}}

 

 

 

研究一下ini的函数:

 

View Code

 function(X){                X.__MSG_QS__ = {};                X.on = C;                X.dm = G;                return X            }它的作用就是为一个对象绑定 :

 

一个属性__MSG_QS__

 

两个函数on(=C),dm(=G)

 

__MSG_QS__的作用是来存储消息队列,它是一个json对象,所以可以存储多个消息队列类似于这样的格式{"click":[],"blur":[]}

 

 

 

 

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • JSP与Servlet
    • 自己动手写MiniBBS系列(基本篇)之用户登录
    • JSP取当前日期
    • JDBC 入门(一)
    • 打开一个jsp页面默认查询所有数据,调用action
    • 使用JSP标签库验证用户的输入(2)完
    • WIN98/2000下的jsp服务器
    • 自定义JSP标签(tag)浅议
    • Struts学习傻瓜式入门篇
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1