前段时间学JavaScript,最先学的就是如何建立自己的JavaScript函数库,在我看来,函数就是程序活的灵魂,在此简单介绍一下如何建立自己的JavaScript函数库。
原则:
不要版本检测:常用浏览器一般是IE、firefox、safari、opera、google,不能为了追求兼容而嗅探当前浏览器进而选择运行模式。
最好是能力检测:即在代码执行之前,检测使用的某个脚本或是对象是否存在,而不是依赖于哪种浏览器,例如:
if (document.body&&document.body.getElementsByTagName) {//如果document.body 与getElementsByTagName存在
//使用document.body.getElementsByTagName代码
}
使用命名空间:javascript支持多次声明同名函数,但是只能使用最后声明的版本,为了确保不相抵触,需要使用命名空间来区别同名函数。使用命名空间分需要注意两点:唯一和不共享,唯一即命名空间命名唯一,例如google加G,我自己的加LD;不共享即什么都不共享包括名称、变量等,为了防止自己的$函数和prototype中的冲突,可以使用如下方法:(function(){
//自己的代码
})();
// JavaScript Document
(function(){
function $(){
alert ("正在Buffering!");//提示正在缓冲
}
window['LD']={}//把LD命名空间加到window
window['LD']['$']=$;把$函数加到LD
}
)();
JavaScript函数库实例
- (function () {
- window['LD'] = {}; //将命名空间写到window上
- function $() {//获取elements
- var elements = new Array();
- for (var i = 0; i < arguments.length; i++) {
- var element = arguments[i]; //赋值element参数数组值
- if (typeof element == 'string') {
- element = document.getElementById(element);
- }
- if (arguments.length == 1) {
- return element;
- }
- elements.push(element);
- }
- return elements;
- };
- function getElementsByClassName() {
- //TODO
- };
- window['LD']['$'] = $; //将函数写到window下的LD下
- window['LD']['getElementsByClassName'] = getElementsByClassName; //将新的getElementsByClassName添加到LD下
- })()
head:- <head>
- <script src="LD.js" type="text/javascript"></script>
- <script type="text/javascript">
- function cclick() {
- var testInput = LD.$("Text1", "Text2");
- for (var i = 0; i < testInput.length; i++) {
- alert(testInput[i].value);//弹出其内容
- }
- }
- </script>
- <title></title>
- </head>
body:- <body onload ="LD.$();">
- <p>
- <input id="Text2" type="text" value="廊坊" />
- <input id="Text1" type="text" value="提高班" />
- </p>
- <p>
- <input id="Button1" type="button" value="点我" onclick="cclick();" />
- </p>
- </body>
运行结果: 这只是最基本的自建函数库,更多的自建函数还等待我的积累。
posted on 2012-06-27 23:01
mixer-a 阅读(843)
评论(0) 编辑 收藏