【原创、开源】续与纠正:几个 JavaScript “类”(Calendar、Ajax、PPLive、Text、ToolTip、Xml 等)
上篇文章得到了几位兄台的鼓励,也得到不少朋友的关注;考虑到这些和程序员的“职业道德”,我便以最快的速度把源码中的重大错误在这里进行纠正,并向关心、下载了的朋友表达歉意。希望我的“糟码”没有误导朋友们!
很长时间内(从开始学习它到不久前?), 我误解了 javascript 的“类”原理,混淆了“类静态字段”与“实例字段”的申明方法;因此,在我的源码包里,大量“类”的私有字段写到了“类静态字段”中去了。这是极其荒谬的!我以尽我所能最快的速度,纠正了这些错误申明,并粗略跑了一遍各演示方法,除“PPLive"未按预期执行,其余基本正常,于是我更新了源码包,细心的朋友可以发现包的后面加了时戳:)。
2,Ajax (异步控件)
Ajax 是我最早制作的“类”,因此它的结构现在看来最乱。那时我还是个懵懂少年,呵呵。
Demon 中我演示了三种应用方式, 操作三步走:new, Send, Callback。上篇网友 小白TWO 提醒的对:“POST” 模式是有问题的。我当初的应用只局限在“GET”模式,因此它的另外一位姐妹很可能被我冷落了:)。
3,TootTip(提示框)
ToolTip 的包装目标与 Calendar 类似:
var myToolTip = new ToolTip(pannel, CreateTipCallback, leftSize, TopSize);//创建
myToolTip.Show(sender, message, leftSize, TopSize);//显示
myToolTip.Hidden();//掩藏
这是在日历控件前制作的,以至于后来制作的日历控件引用该“类”。
4,Xml(Xml文本处理)
坦诚的说,这个“类”有些累赘。当初之所以要制作它,是因为 IE 与 火狐 之争。我天真的认为通过包装可以忽略浏览器环境对读取 Xml 的影响,结果是,我居然没有在 火狐 上实验过!
演示中我做了两个应用:读取 Xml 文本,和读取 Xml 文件。但对获取节点与节点值的方法处理,我始终不大满意!
5,Text(字符串处理)
这个“类”的制作有着非常特殊的需求“背景”。当初我开发了一个“可扩展的后台管理系统”(正考虑修整后也进行开源:)),其可以通过在后台进行配置生成前台的各类页面。而在生成的前台页面中,经常有数据之间的交叉,而又因为的页面容器的不同,相同的数据要有不同的展现形式,于是乎,“TextRender” 横空出世。
后台输出相同的数据到前台不同的页面,而各页面通过各自的脚本展现这些数据。演示中,我基本表达了我目的,呵呵。
6,其他(PPLive、Cookie、QueryString、Thread、Timer)
剩下的几个过于简单,因此我不罗嗦的好。PPLive 是对某播放控件的二次包装,Cooike、QueryString 统一了一些逻辑的表达方式,Thread、Timer 不过是我对 SetTimeout 与 SetInterval 的个人理解,呵呵。
最后,谢谢大家的支持!