分享一个常用的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);
        }
    };
}();

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

相关文章

  • 你不知道的 javascript【推荐】

    你不知道的 javascript【推荐】

    本文介绍了javascript中你所不知道的相关知识。具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • axios概念介绍和基本使用

    axios概念介绍和基本使用

    axios是一个基于Promise用于浏览器和nodejs的HTTP客户端,下面这篇文章主要给大家介绍了关于axios概念介绍和基本使用的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • 浅析JavaScript作用域链、执行上下文与闭包

    浅析JavaScript作用域链、执行上下文与闭包

    JavaScript 采用词法作用域(lexical scoping),函数执行依赖的变量作用域是由函数定义的时候决定,而不是函数执行的时候决定,通过本文给大家介绍JavaScript作用域链、执行上下文与闭包相关知识,感兴趣的朋友一起学习吧
    2016-02-02
  • js 中将多个逗号替换为一个逗号的代码

    js 中将多个逗号替换为一个逗号的代码

    这篇文章主要介绍了js 中将多个逗号替换为一个逗号的代码,需要的朋友可以参考下
    2014-06-06
  • 微信小程序实现利息计算器

    微信小程序实现利息计算器

    这篇文章主要为大家详细介绍了微信小程序实现利息计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • js实现录音上传功能

    js实现录音上传功能

    这篇文章主要为大家详细介绍了js实现录音上传功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • 快速解决js动态改变dom元素属性后页面及时渲染的问题

    快速解决js动态改变dom元素属性后页面及时渲染的问题

    下面小编就为大家带来一篇快速解决js动态改变dom元素属性后页面及时渲染的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • 前端常见的时间转换方法以及获取当前时间方法小结

    前端常见的时间转换方法以及获取当前时间方法小结

    在做开发时会对不同的时间格式进行转换,下面这篇文章主要给大家介绍了关于前端常见的时间转换方法以及获取当前时间方法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • 详解JavaScript 中的变量声明与赋值

    详解JavaScript 中的变量声明与赋值

    在 JavaScript 中使用变量或常量之前,必须先进行声明,这篇文章主要介绍了JavaScript中的变量声明与赋值,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • javascript 浏览器检测代码精简版

    javascript 浏览器检测代码精简版

    javascript检测浏览器精简版,需要的朋友可以参考下。
    2010-03-03

最新评论