分享一个常用的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+ashx无刷新GridView数据显示插件(实现分页、排序、过滤功能)
Apr 25 Javascript
jQuery实现div浮动层跟随页面滚动效果
Feb 11 Javascript
js获取新浪天气接口的实现代码
Jun 06 Javascript
js实现带缓动动画的导航栏效果
Jan 16 Javascript
Bootstrap面板学习使用
Feb 09 Javascript
Angular X中使用ngrx的方法详解(附源码)
Jul 10 Javascript
浅谈vue路径优化之resolve
Oct 13 Javascript
浅谈vuejs实现数据驱动视图原理
Feb 23 Javascript
详解react关于事件绑定this的四种方式
Mar 09 Javascript
vue刷新页面时去闪烁提升用户体验效果的实现方法
Dec 10 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变opacity实现)
Jan 24 Javascript
ant-design-vue中的select选择器,对输入值的进行筛选操作
Oct 24 Javascript
兼容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
不使用XMLHttpRequest实现异步加载 Iframe和script
2012/10/29 Javascript
javascript瀑布流式图片懒加载实例
2020/06/28 Javascript
微信小程序 页面传参实例详解
2016/11/16 Javascript
jQuery EasyUi 验证功能实例解析
2017/01/06 Javascript
常用的javascript设计模式
2017/01/11 Javascript
利用js定义一个导航条菜单
2017/03/14 Javascript
使用Nodejs连接mongodb数据库的实现代码
2017/08/21 NodeJs
vue jsx 使用指南及vue.js 使用jsx语法的方法
2017/11/11 Javascript
react配置antd按需加载的使用
2019/02/11 Javascript
vue使用video.js进行视频播放功能
2019/07/18 Javascript
Jquery实现获取子元素的方法分析
2019/08/24 jQuery
浅谈vue-router路由切换 组件重用挖下的坑
2019/11/01 Javascript
react实现移动端下拉菜单的示例代码
2020/01/16 Javascript
微信小程序自定义纯净模态框(弹出框)的实例代码
2020/03/09 Javascript
深入解读VUE中的异步渲染的实现
2020/06/19 Javascript
[49:08]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.27
2020/12/01 DOTA
Python命令行参数解析模块getopt使用实例
2015/04/13 Python
python实现用户管理系统
2018/01/10 Python
python boto和boto3操作bucket的示例
2020/10/30 Python
用CSS3绘制三角形的简单方法
2015/07/17 HTML / CSS
html5服务器推送_动力节点Java学院整理
2017/07/12 HTML / CSS
html5播放视频且动态截图实现步骤与代码(支持safari其他未测试)
2013/01/06 HTML / CSS
HTML5和CSS3实例教程总结(推荐)
2016/07/18 HTML / CSS
H&M美国官网:欧洲最大的服饰零售商
2016/09/07 全球购物
教师的实习鉴定
2013/12/15 职场文书
社区网格化管理实施方案
2014/03/21 职场文书
投资建议书模板
2014/05/12 职场文书
支部鉴定材料
2014/06/02 职场文书
亲子阅读的活动方案
2014/08/15 职场文书
关于读书的演讲稿1000字
2014/08/27 职场文书
小学生感恩老师演讲稿
2014/08/28 职场文书
同学聚会通知书
2015/04/20 职场文书
技术入股合作协议书
2016/03/21 职场文书
Golang中channel的原理解读(推荐)
2021/10/16 Golang
Oracle数据库中通用的函数实例详解
2022/03/25 Oracle
基于Python实现射击小游戏的制作
2022/04/06 Python