分享一个常用的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实现网页图片等比例缩放实现代码及调用方式
Feb 25 Javascript
Jquery 返回json数据在IE浏览器中提示下载的问题
May 18 Javascript
JavaScript弹出窗口方法汇总
Aug 12 Javascript
js实现div弹出层的方法
Nov 20 Javascript
JavaScript实现拖拽网页内元素的方法
Apr 15 Javascript
jQuery新窗口打开外链接
Jul 21 Javascript
vue-cli+webpack记事本项目创建
Apr 01 Javascript
封装运动框架实战左右与上下滑动的焦点轮播图(实例)
Oct 17 Javascript
JS组件系列之Gojs组件 前端图形化插件之利器
Nov 29 Javascript
解决layui 三级联动下拉框更新时回显的问题
Sep 03 Javascript
js实现提交前对列表数据的增删改查
Jan 16 Javascript
原生JS利用transform实现banner的无限滚动示例代码
Jun 15 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
简单实用的.net DataTable导出Execl
2013/10/28 PHP
php使用正则过滤js脚本代码实例
2014/05/10 PHP
PHP经典算法集锦【经典收藏】
2016/09/14 PHP
php实现的http请求封装示例
2016/11/08 PHP
php rsa 加密,解密,签名,验签详解
2016/12/06 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
2017/04/27 PHP
tp5框架无刷新分页实现方法分析
2019/09/26 PHP
php的instanceof和判断闭包Closure操作示例
2020/01/26 PHP
js CSS操作方法集合
2008/10/31 Javascript
javascript instanceof,typeof的区别
2010/03/24 Javascript
jQuery对表单的操作代码集合
2011/04/06 Javascript
jquery 跳到顶部和底部动画2句代码简单实现
2013/07/18 Javascript
在表单提交前进行验证的几种方式整理
2013/07/31 Javascript
js设置function参数默认值(适合没有传参情况)
2014/02/24 Javascript
Jquery中map函数的用法
2016/06/03 Javascript
Bootstrap中的Dropdown下拉菜单更改为悬停(hover)触发
2016/08/31 Javascript
javascript鼠标跟随运动3种效果(眼球效果,苹果菜单,方向跟随)
2016/10/27 Javascript
js实现延迟加载的几种方法
2017/04/24 Javascript
angular 组件通信的几种实现方式
2018/07/13 Javascript
Django+vue跨域问题解决的详细步骤
2019/01/20 Javascript
Vue中fragment.js使用方法小结
2020/02/17 Javascript
使用vue-cli3+typescript的项目模板创建工程的教程
2020/02/28 Javascript
详解Python中映射类型(字典)操作符的概念和使用
2015/08/19 Python
Python教程之全局变量用法
2016/06/27 Python
Python搭建HTTP服务器和FTP服务器
2017/03/09 Python
使用Django连接Mysql数据库步骤
2019/01/15 Python
详解Python循环作用域与闭包
2019/03/21 Python
python基于K-means聚类算法的图像分割
2019/10/30 Python
python实现简单颜色识别程序
2020/02/19 Python
基于CSS3实现图片模糊过滤效果
2015/11/19 HTML / CSS
利用 CSS3 实现的无缝轮播功能代码
2017/09/25 HTML / CSS
html Table 表头固定的实现
2019/01/22 HTML / CSS
HTML5之WebGL 3D概述(下)—借助类库开发及框架介绍
2013/01/31 HTML / CSS
2014年度个人工作总结
2014/11/07 职场文书
2019优秀干部竞聘演讲稿范文!
2019/07/02 职场文书
ROS系统将python包编译为可执行文件的简单步骤
2021/07/25 Python