分享一个常用的javascript静态类

 更新时间:2014年12月31日 10:36:22   投稿:hebedich  
这篇文章主要分享一个常用的javascript静态类,笔者自己写的,需要的朋友可以参考下

废话不多说,直接奉上代码,知道干啥用的小伙伴直接带走吧。

复制代码 代码如下:

util=function(){
    return {
        $:function(id){
            return document.getElementById(id);
        },
        trim:function(str){
            return str.replace(/(^\s+)|(\s+$)/g, "");
        },
        len:function(str){  
            return str.replace(/[^\x00-\xff]/g,'**').length;  
        },
        format:function(str){
            var arg = arguments;
            return str.replace(/\{(\d+)\}/g, function(m, i){
                return arg[parseInt(i)+1];
            });
        },
        each:function(object, callback, args){
            var name, i = 0, length = object.length;
            if ( args ) {
                if ( length === undefined ) {
                    for ( name in object )
                        if ( callback.apply( object[ name ], args ) === false )
                            break;
                } else
                    for ( ; i < length; )
                        if ( callback.apply( object[ i++ ], args ) === false )
                            break;
            } else {
                if ( length === undefined ) {
                    for ( name in object )
                        if ( callback.call( object[ name ], name, object[ name ] ) === false )
                            break;
                } else
                    for ( var value = object[0];
                        i < length && callback.call( value, i, value ) !== false; value = object[++i] ){}
            }
        },
        setCookie:function(name,value,hours,path,domain){
            var str=new String();
            var nextTime=new Date();
            nextTime.setHours(nextTime.getHours()+hours);
            str=name+"="+escape(value);
            if(hours)
                str+=";expires="+nextTime.toGMTString();
            if(path)
                str+=";path="+path;
            if(domain)
                str+=";domain="+domain;
            document.cookie=str;
        },
        getCookie:function(name){
            var rs=new RegExp("(^|)"+name+"=([^;]*)(;|$)","gi").exec(document.cookie),tmp;
            if(tmp=rs)
                return unescape(tmp[2]);
            return null;
        },
        delCookie:function(name){
            document.cookie = name + "=-1" + "; expires=Fri, 31 Dec 1999 23:59:59 GMT;";
        },
        /**
        *url String
        *parms String
        *method String default value "get"
        *asy Boolean defalut value true
        *success Function(http_request.responseText)
        **/
        ajax:function(config){
            var url=config.url,
                parms=(config.parms?config.parms:"") + "&t="+new Date().getTime(),
                method=config.method||"get",
                asy=true;
            var http_request=null;
            if(method.toLowerCase()=="get"){
                url=url+"?"+parms;
                parms=null;
            }
            //开始初始化XMLHttpRequest对象
            if(window.XMLHttpRequest) { //Mozilla 浏览器
                http_request = new XMLHttpRequest();
                if (http_request.overrideMimeType) {//设置MiME类别
                    http_request.overrideMimeType("text/xml");
                }
            } else if (window.ActiveXObject) { // IE浏览器
                try {
                    http_request = new ActiveXObject("Msxml2.XMLHTTP");
                } catch (e) {
                    try {               
                        http_request = new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (e) {}
                }
            }
            if(!http_request) { // 异常,创建对象实例失败
                throw new Error("不能创建XMLHttpRequest对象实例.");
                return null;
            }
            http_request.open(method,url,asy);
            http_request.onreadystatechange=function(){
                if (http_request.readyState == 4){
                    try{
                        if (http_request.status == 200){
                            config.success(http_request.responseText);
                        }
                    }catch(e){
                        throw new Error("数据读取失败.");
                    }
                }
            };
            if(method.toLowerCase()=="post"){
                http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            }
            http_request.send(parms);
        }
    };
}();

是不是相当不错呢,反正我是很满意。

相关文章

  • 详解a++和++a的区别

    详解a++和++a的区别

    搞开发已经很久了,一直搞不懂a++和++a到底有所什么不同,后来通过查阅相关资料总结出一点规律,下面小编通过本文给大家介绍
    2017-08-08
  • JavaScript实现梯形乘法表的方法

    JavaScript实现梯形乘法表的方法

    这篇文章主要介绍了JavaScript实现梯形乘法表的方法,涉及基本javascript结合表格操作的技巧,需要的朋友可以参考下
    2015-04-04
  • js滚轮事件 js自定义滚动条的实现

    js滚轮事件 js自定义滚动条的实现

    这篇文章主要为大家详细介绍了js滚轮事件,自定义滚动条的实现,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01
  • 前端使用xlsx导出数据生成Excel文件的全过程

    前端使用xlsx导出数据生成Excel文件的全过程

    这篇文章主要给大家介绍了关于前端使用xlsx导出数据生成Excel文件的相关资料,最近在做项目中,后端偷懒不做导出功能,让我前端实现,所以在这里记录下前端导出功能,需要的朋友可以参考下
    2023-08-08
  • Javascript中3个需要注意的运算符

    Javascript中3个需要注意的运算符

    这篇文章主要介绍了Javascript中3个需要注意的运算符,这3个运算符的使用有很多需要注意的地方和有意思的地方,需要的朋友可以参考下
    2015-04-04
  • uni-app使用uploadFile上传多张图片的具体实现

    uni-app使用uploadFile上传多张图片的具体实现

    在微信小程序中不支持多张图片上传,需要做循环实现多张图片上传,下面这篇文章主要给大家介绍了关于uni-app使用uploadFile上传多张图片的具体实现,需要的朋友可以参考下
    2023-04-04
  • 微信小程序navigator跳转及参数传递的方法

    微信小程序navigator跳转及参数传递的方法

    这篇文章主要介绍了微信小程序navigator跳转及参数传递,在navigator中添加需要跳转的路径,如果需要带参,则在路径后面添加所要传递的参数以及值,需要的朋友可以参考下
    2023-11-11
  • JavaScript数组基于交换的排序示例【冒泡排序】

    JavaScript数组基于交换的排序示例【冒泡排序】

    这篇文章主要介绍了JavaScript数组基于交换的排序,结合实例形式分析了JavaScript排序算法中的冒泡排序简单实现技巧,需要的朋友可以参考下
    2018-07-07
  • 微信小程序tabBar 返回tabBar不刷新页面

    微信小程序tabBar 返回tabBar不刷新页面

    这篇文章主要介绍了微信小程序tabBar 返回tabBar不刷新页面,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • JavaScript获取select中text值的方法

    JavaScript获取select中text值的方法

    这篇文章主要介绍了JavaScript获取select中text值的方法,涉及javascript针对HTML页面元素相关判断与获取操作技巧,需要的朋友可以参考下
    2017-02-02

最新评论