分享一个常用的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 可以拖动的DIV(二)
Jun 26 Javascript
jquery1.4 教程二 ajax方法的改进
Feb 25 Javascript
js实现兼容IE6与IE7的DIV高度
May 13 Javascript
jquery结婚电子请柬特效源码分享
Aug 21 Javascript
初步了解javascript面向对象
Nov 09 Javascript
javascript中Date对象的使用总结
Nov 21 Javascript
详解js的六大数据类型
Dec 27 Javascript
VUE中v-model和v-for指令详解
Jun 23 Javascript
Vue脚手架的简单使用实例
Jul 10 Javascript
webpack结合express实现自动刷新的方法
May 07 Javascript
Vue CLI3基础学习之pages构建多页应用
Jun 02 Javascript
jQuery实现html可联动的百分比进度条
Mar 26 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
php Try Catch异常测试
2009/03/01 PHP
php构造函数实例讲解
2013/11/13 PHP
30个php操作redis常用方法代码例子
2014/07/05 PHP
用函数式编程技术编写优美的 JavaScript
2006/11/25 Javascript
javascript 触发事件列表 比较不错
2009/09/03 Javascript
基于jquery的下拉框改变动态添加和删除表格实现代码
2020/09/12 Javascript
基于datagrid框架的查询
2013/04/08 Javascript
jQuery的显示和隐藏方法与css隐藏的样式对比
2013/10/18 Javascript
javascript获取元素离文档各边距离的方法
2015/02/13 Javascript
学习Javascript面向对象编程之封装
2016/02/23 Javascript
基于javascript实现tab切换特效
2016/03/29 Javascript
node.js cookie-parser之parser.js
2016/06/06 Javascript
JavaScript必知必会(七)js对象继承
2016/06/08 Javascript
AngularJS实践之使用NgModelController进行数据绑定
2016/10/08 Javascript
图片上传之FileAPI与NodeJs
2017/01/24 NodeJs
canvas简单快速的实现知乎登录页背景效果
2017/05/08 Javascript
vue购物车插件编写代码
2017/11/27 Javascript
浅谈 Vue 项目优化的方法
2017/12/16 Javascript
JS实现简易换图时钟功能分析
2018/01/04 Javascript
基于three.js编写的一个项目类示例代码
2018/01/05 Javascript
基于node下的http小爬虫的示例代码
2018/01/11 Javascript
解决vue-cli创建项目的loader问题
2018/03/13 Javascript
微信小程序实现日历功能
2018/11/27 Javascript
React实现类似淘宝tab居中切换效果的示例代码
2020/06/02 Javascript
javascript+css实现俄罗斯方块小游戏
2020/06/28 Javascript
[55:18]Liquid vs Chaos 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
[59:30]完美世界DOTA2联赛PWL S3 access vs LBZS 第二场 12.20
2020/12/23 DOTA
使用python爬虫实现网络股票信息爬取的demo
2018/01/05 Python
启动Atom并运行python文件的步骤
2018/11/09 Python
Pycharm最新激活码2019(推荐)
2019/12/31 Python
用opencv给图片换背景色的示例代码
2020/07/08 Python
python爬虫如何解决图片验证码
2021/02/14 Python
HTML5超炫酷粒子效果的进度条的实现示例
2019/08/23 HTML / CSS
四个太阳教学反思
2014/02/01 职场文书
python通配符之glob模块的使用详解
2021/04/24 Python
MySQL中存储时间的最佳实践指南
2021/07/01 MySQL