分享一个常用的javascript静态类


Posted in Javascript onDecember 31, 2014

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

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 相关文章推荐
jQuery选中select控件 无法设置selected的解决方法
Sep 01 Javascript
JS模拟面向对象全解(二、类型与赋值)
Jul 13 Javascript
javascript完美拖拽的实现方法
Sep 29 Javascript
JavaScript onkeydown事件入门实例(键盘某个按键被按下)
Oct 17 Javascript
javascript表单验证大全
Aug 12 Javascript
老生常谈js中0到底是 true 还是 false
Mar 08 Javascript
xmlplus组件设计系列之网格(DataGrid)(10)
May 05 Javascript
Angular.js指令学习中一些重要属性的用法教程
May 24 Javascript
微信小程序 监听手势滑动切换页面实例详解
Jun 15 Javascript
iview日期控件,双向绑定日期格式的方法
Mar 15 Javascript
vue的传参方式汇总和router使用技巧
May 22 Javascript
jQuery实现图片下载代码
Jul 18 jQuery
兼容Firefox的Javascript XSLT 处理XML文件
Dec 31 #Javascript
使用jquery+CSS实现控制打印样式
Dec 31 #Javascript
浅谈javascript中字符串String与数组Array
Dec 31 #Javascript
jQuery中[attribute!=value]选择器用法实例
Dec 31 #Javascript
JavaScript中的Primitive对象封装介绍
Dec 31 #Javascript
JavaScript中的值类型转换介绍
Dec 31 #Javascript
javascript实现滑动解锁功能
Dec 31 #Javascript
You might like
同台服务器使用缓存APC效率高于Memcached的演示代码
2010/02/16 PHP
js中判断控件是否存在
2010/08/25 Javascript
《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型
2012/02/27 Javascript
js关闭当前页面(窗口)的几种方式总结
2013/03/05 Javascript
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
2013/06/25 Javascript
js检测输入内容全为空格的方法
2014/05/03 Javascript
13 款最热门的 jQuery 图像 360 度旋转插件推荐
2014/12/09 Javascript
jquery拖拽效果完整实例(附demo源码下载)
2016/01/14 Javascript
JS中常用的正则表达式
2016/09/29 Javascript
jquery html5 视频播放控制代码
2016/11/06 Javascript
EasyUI Tree树组件无限循环的解决方法
2017/09/27 Javascript
VueCli3构建TS项目的方法步骤
2018/11/07 Javascript
webpack 处理CSS资源的实现
2019/09/27 Javascript
python与C互相调用的方法详解
2017/07/14 Python
python找出完数的方法
2018/11/12 Python
python实现美团订单推送到测试环境,提供便利操作示例
2019/08/09 Python
keras实现多种分类网络的方式
2020/06/11 Python
Ubuntu权限不足无法创建文件夹解决方案
2020/11/14 Python
Pycharm在指定目录下生成文件和删除文件的实现
2020/12/28 Python
Python 内存管理机制全面分析
2021/01/16 Python
CSS去掉A标签(链接)虚线框的方法
2014/04/01 HTML / CSS
使用HTML5 Canvas绘制圆角矩形及相关的一些应用举例
2016/03/22 HTML / CSS
双立人加拿大官网:Zwilling加拿大
2020/08/10 全球购物
行政人员工作职责
2013/12/05 职场文书
医院辞职信范文
2014/01/17 职场文书
大学活动邀请函
2014/01/28 职场文书
八荣八耻演讲稿
2014/09/15 职场文书
四风问题班子对照检查材料
2014/09/27 职场文书
2014年党支部工作总结
2014/11/13 职场文书
英文道歉信
2015/01/20 职场文书
七一晚会主持词
2015/06/29 职场文书
MySQL数据库压缩版本安装与配置详细教程
2021/05/21 MySQL
用JS实现飞机大战小游戏
2021/06/09 Javascript
Canvas如何做个雪花屏版404的实现
2021/09/25 HTML / CSS
动漫APP软件排行榜前十名,半次元上榜,第一款由腾讯公司推出
2022/03/18 杂记
Python  序列化反序列化和异常处理的问题小结
2022/12/24 Python