分享一个常用的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 相关文章推荐
JavaScript中继承的一些示例方法与属性参考
Aug 07 Javascript
使用jQuery实现的掷色子游戏动画效果
Mar 14 Javascript
JavaScript中的Truthy和Falsy介绍
Jan 01 Javascript
JQuery中clone方法复制节点
May 18 Javascript
js获取图片宽高的方法
Nov 25 Javascript
基于BootStrap Metronic开发框架经验小结【七】数据的导入、导出及附件的查看处理
May 12 Javascript
JS封装的自动创建表格的实现代码
Jun 15 Javascript
浅谈js对象属性 通过点(.) 和方括号([]) 的不同之处
Oct 29 Javascript
利用Query+bootstrap和js两种方式实现日期选择器
Jan 10 Javascript
基于JavaScript实现报警器提示音效果
Oct 27 Javascript
vue2实现搜索结果中的搜索关键字高亮的代码
Aug 29 Javascript
详解vue-router传参的两种方式
Sep 10 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
php学习之 数组声明
2011/06/09 PHP
PHP实现更改hosts文件的方法示例
2017/08/08 PHP
PHP 并发场景的几种解决方案
2019/06/14 PHP
收集的一些Array及String原型对象的扩展实现代码
2010/12/05 Javascript
js特殊字符转义介绍
2013/11/05 Javascript
JQuery ztree带筛选、异步加载实例讲解
2016/02/25 Javascript
微信小程序-拍照或选择图片并上传文件
2017/01/06 Javascript
Vue 页面切换效果之 BubbleTransition(推荐)
2018/04/08 Javascript
vue中的inject学习教程
2019/04/24 Javascript
微信小程序实现左滑动删除效果
2020/03/30 Javascript
vue请求数据的三种方式
2020/03/04 Javascript
JS中作用域以及变量范围分析
2020/07/18 Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
2020/11/06 Javascript
vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)
2020/11/12 Javascript
vue中h5端打开app(判断是安卓还是苹果)
2021/02/26 Vue.js
Python中List.count()方法的使用教程
2015/05/20 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
2016/12/27 Python
centos6.7安装python2.7.11的具体方法
2017/01/16 Python
Python 十六进制整数与ASCii编码字符串相互转换方法
2018/07/09 Python
python  Django中的apps.py的目的是什么
2018/10/15 Python
Django Rest framework之认证的实现代码
2018/12/17 Python
django 配置阿里云OSS存储media文件的例子
2019/08/20 Python
python从内存地址上加载python对象过程详解
2020/01/08 Python
Python生成器实现简单&quot;生产者消费者&quot;模型代码实例
2020/03/27 Python
Keras使用ImageNet上预训练的模型方式
2020/05/23 Python
MAC Cosmetics官方网站:魅可专业艺术彩妆
2019/04/10 全球购物
掌上明珠Java程序员面试总结
2016/02/23 面试题
大学生大二自我鉴定
2013/10/28 职场文书
外贸销售员求职的自我评价
2013/11/23 职场文书
后备干部考察材料
2014/02/12 职场文书
英语国培研修感言
2014/02/13 职场文书
经济担保书范文
2014/04/02 职场文书
骨干教师考核方案
2014/05/09 职场文书
教育局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
导游词之镜泊湖
2019/12/09 职场文书
PHP 对接美团大众点评团购券(门票)的开发步骤
2021/04/03 PHP