编写自己的js库

时间:14-03-20 栏目:Javascript 作者:zongyan86 评论:0 点击: 6,403 次

/*
1、不要版本检测
版本会被淘汰 ,你不能为每一款前途未卜的浏览器都花费实践进行检测
要使用能力检测
if(document.body&&document.body.getElementsByTagName){
//使用document.body.getElementsByTagName的代码

}

2、使用命名空间
代码冲突,保持代码的惟一性 HX,不共享 (闭包 匿名函数)
(function(){
//运行的代码
})();

myNameSpace.$('');

myNameSpace.$('','');

myNameSpace.getStyle('className','tag');

*/

代码如下:

(function () {
    window['myNameSpace'] = {};
    function $() {
        var elements = [];
        for (var i = 0; i < arguments.length; i++) {
            var element = arguments[i];
            if (typeof element == 'string') {
                element = document.getElementById(element);
            }
            if (arguments.length == 1) {
                return element;
            }
            elements.push(element);
        }
        return elements;
    }
    function getStyle(className, tag) {
        var allTags = document.getElementsByTagName(tag);
        var matchingElements = [];
        className = className.replace(/\-/g, '\\-');
        var regex=new RegExp('(^|\\s)'+className+'(\\s|$)');
        var element;
        for(var i=0;i<allTags.length;i++){
          element=allTags[i];
          if(regex.test(element.className){
             matchingElements.push(element);
          }
        }
        return matchingElements;
    }
    window['myNameSpace']['$'] = $;
    window['myNameSpace']['getStyle'] = getStyle;
})();

web前端开发   参考ITCAST视频



声明: 本文由( zongyan86 )原创编译,转载请保留链接: 编写自己的js库

关注我们