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常用静态方法类,分享给大家的更多相关文章

  1. javascript常用工具类整理(copy)

    JavaScript常用工具类 类型 日期 数组 字符串 数字 网络请求 节点 存储 其他 1.类型 isString (o) { //是否字符串 return Object.prototype.to ...

  2. vue项目工具文件utils.js javascript常用工具类,javascript常用工具类,util.js

    vue项目工具文件utils.js :https://blog.csdn.net/Ajaxguan/article/details/79924249 javascript常用工具类,util.js : ...

  3. javascript常用工具类util.js

    //如果大家想要补充,请留言 /** * 判断指定名称的复选框是否被选中 * * @param {} * chname复选框名称 */ function chkCheckCha(chname) { v ...

  4. javascript常用经典算法实例详解

    javascript常用经典算法实例详解 这篇文章主要介绍了javascript常用算法,结合实例形式较为详细的分析总结了JavaScript中常见的各种排序算法以及堆.栈.链表等数据结构的相关实现与 ...

  5. 请写出JavaScript中常用的三种事件。

    请写出JavaScript中常用的三种事件. 解答: onclick,onblur,onChange

  6. JavaScript es6 class类的理解。

    本着互联网的分享精神,在本篇文章我将会把我对JavaScript  es6 class类的理解分享给大家. JavaScript 类主要是 JavaScript 现有的基于原型的继承的语法糖. 类语法 ...

  7. JavaScript中定义类的方式详解

    本文实例讲述了JavaScript中定义类的方式.分享给大家供大家参考,具体如下: Javascript本身并不支持面向对象,它没有访问控制符,它没有定义类的关键字class,它没有支持继承的exte ...

  8. 7 种 Javascript 常用设计模式学习笔记

    7 种 Javascript 常用设计模式学习笔记 由于 JS 或者前端的场景限制,并不是 23 种设计模式都常用. 有的是没有使用场景,有的模式使用场景非常少,所以只是列举 7 个常见的模式 本文的 ...

  9. 【三】用Markdown写blog的常用操作

    本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...

随机推荐

  1. 使 Inno Setup 打包出的安装程序以管理员身份运行

    找到 Inno Setup 安装目录下的 SetupLdr.e32 文件,用 Resource Hacker 将其中的 Manifest 修改一下: 改为: <requestedExecutio ...

  2. [hihoCoder] 第四十八周: 拓扑排序·二

    题目1 : 拓扑排序·二 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho所在学校的校园网被黑客入侵并投放了病毒.这事在校内BBS上立刻引起了大家的讨论,当 ...

  3. windows下bash终端--git-bash总汇

    git bash是一个比较好用的终端(win下),但有一些细节需要调整后才好用. 1.比如,登陆后终端的表格,以及个别符号显示为乱码. 解决方法: 1).点击git bash左上角,选择“option ...

  4. PHP+FastCGI+Nginx配置PHP运行环境方法

    PHP+FastCGI+Nginx配置PHP运行环境 Nginx不支持对外部程序的调用,所以必须通过FastCGI接口实现对外部程序的调用从而实现对客户端动态页面请求的处理. CGI的英文全称为Com ...

  5. CFD使用者应当了解的一些事情

    此文适合对象:CFD完全新手,没有流体力学基础,没有数值计算基础,甚至没有计算机基础. 作为一个CFD完全新手,你需要知道的几件事情 1.CFD是拿来用的,不是拿来学的 除非你是搞CFD理论的,比如一 ...

  6. lua 创建listview

    只要是新的聊天对象就创建一个新的listview local name = tolua.cast(UIHelper:seekWidgetByName(self.nameItem, "name ...

  7. (原创)舌尖上的c++--相逢

    引子 前些时候,我在群里出了一道题目:将变参的类型连接在一起作为字符串并返回出来,要求只用函数实现,不能借助于结构体实现.用结构体来实现比较简单: template<typename... Ar ...

  8. 每日英语:Got 5 Minutes? 'Flash Fiction' Catches On

    Chinese author Lao Ma has a simple approach to his short stories: In the face of life, everything is ...

  9. (原)ubuntu下cadvisor+influxdb+grafana+supervisord监控主机和docker的containers

    ubuntu下cadvisor+influxdb+grafana+supervisord监控主机和docker的containers(运行在主机上) 适用于类ubuntu系统.amd64. 1. in ...

  10. Node和Electron开发入门(四):操作PC端文件系统

    一.调用PC端默认方式打开本地文件 在main.js里 // 打开系统本地文件或者网页链接 const {shell} = require('electron'); // Open a local f ...