分享一个常用的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 相关文章推荐
firefox浏览器下javascript 拖动层效果与原理分析代码
Dec 04 Javascript
jQuery 源码分析笔记(6) jQuery.data
Jun 08 Javascript
javascript (用setTimeout而非setInterval)
Dec 28 Javascript
JS iFrame加载慢怎么解决
May 13 Javascript
vue中eventbus被多次触发以及踩过的坑
Dec 02 Javascript
bootstrap3中container与container_fluid外层容器的区别讲解
Dec 04 Javascript
初学node.js中实现删除用户路由
May 27 Javascript
浅谈一种让小程序支持JSX语法的新思路
Jun 16 Javascript
vue用BMap百度地图实现即时搜索功能
Sep 26 Javascript
vue组件 keep-alive 和 transition 使用详解
Oct 11 Javascript
在vue-cli3中使用axios获取本地json操作
Jul 30 Javascript
如何基于viewport vm适配移动端页面
Nov 13 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
re0第二季蕾姆被制作组打入冷宫!艾米莉亚女主扶正,原因唏嘘
2020/04/02 日漫
Ajax+PHP 边学边练 之二 实例
2009/11/24 PHP
解析php入库和出库
2013/06/25 PHP
淘宝ip地址查询类分享(利用淘宝ip库)
2014/01/07 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
2014/06/05 PHP
php将日期格式转换成xx天前的格式
2015/04/16 PHP
php+ajax无刷新上传图片实例代码
2015/11/17 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
测试JavaScript字符串处理性能的代码
2009/12/07 Javascript
javascript 弹出的窗口返回值给父窗口具体实现
2013/11/23 Javascript
jQuery幻灯片带缩略图轮播效果代码分享
2015/08/17 Javascript
JS使用cookie实现DIV提示框只显示一次的方法
2015/11/05 Javascript
简单的JS时钟实例讲解
2016/01/13 Javascript
详解vue-cli中的ESlint配置文件eslintrc.js
2017/09/25 Javascript
解决低版本的浏览器不支持es6的import问题
2018/03/09 Javascript
KnockoutJS数组比较算法实例详解
2019/11/25 Javascript
在vue中使用回调函数,this调用无效的解决
2020/08/11 Javascript
python集合类型用法分析
2015/04/08 Python
python去除文件中空格、Tab及回车的方法
2016/04/12 Python
python 简单的绘图工具turtle使用详解
2017/06/21 Python
Python科学画图代码分享
2017/11/29 Python
Python log模块logging记录打印用法解析
2020/01/20 Python
Python使用pyenv实现多环境管理
2021/02/05 Python
html5记忆翻牌游戏实现思路及代码
2013/07/25 HTML / CSS
Linux上比较文件的命令都有哪些
2012/02/24 面试题
医院护士的求职信范文
2013/12/26 职场文书
超市活动计划书
2014/04/24 职场文书
个人承诺书怎么写
2014/05/24 职场文书
六查六看心得体会
2014/10/14 职场文书
工作失职检讨书500字
2014/10/17 职场文书
2015年元旦促销方案书
2014/12/09 职场文书
党员转正意见怎么写
2015/06/03 职场文书
新闻报道稿范文
2015/07/23 职场文书
教师纪律作风整顿心得体会
2016/01/23 职场文书
引用计数法和root搜索算法以及JVM中判定对象需要回收的方法
2022/04/19 Java/Android
安装harbor作为docker镜像仓库的问题
2022/06/14 Servers