分享一个常用的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的仿照flash放大图片效果代码
Mar 16 Javascript
IE6/7/8中Option元素未设value时Select将获取空字符串
Apr 07 Javascript
jQuery学习笔记 获取jQuery对象
Sep 19 Javascript
node.js中的http.response.end方法使用说明
Dec 14 Javascript
深入分析原生JavaScript事件
Dec 29 Javascript
学习JavaScript设计模式之观察者模式
Apr 22 Javascript
jQuery Easyui 验证两次密码输入是否相等
May 13 Javascript
KnockoutJS 3.X API 第四章之表单value绑定
Oct 10 Javascript
vue toggle做一个点击切换class(实例讲解)
Mar 13 Javascript
javascript少儿编程关于返回值的函数内容
May 27 Javascript
快速解决angularJS中用post方法时后台拿不到值的问题
Aug 14 Javascript
React 使用Hooks简化受控组件的状态绑定
Mar 18 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
PHP5.0对象模型探索之抽象方法和抽象类
2006/09/05 PHP
如何使用动态共享对象的模式来安装PHP
2006/10/09 PHP
WML,Apache,和 PHP 的介绍
2006/10/09 PHP
用PHP和ACCESS写聊天室(八)
2006/10/09 PHP
php面向对象全攻略 (十) final static const关键字的使用
2009/09/30 PHP
PHP+Mysql+jQuery文件下载次数统计实例讲解
2015/10/10 PHP
PHP环境中Memcache的安装和使用
2015/11/05 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
详解php用static方法的原因
2018/09/12 PHP
js禁止页面刷新禁止用F5键刷新禁止右键的示例代码
2013/09/23 Javascript
使用 TypeScript 重新编写的 JavaScript 坦克大战游戏代码
2015/04/07 Javascript
学习掌握JavaScript中this的使用技巧
2016/08/29 Javascript
一个炫酷的Bootstrap导航菜单
2016/12/28 Javascript
Node.js简单入门前传
2017/08/21 Javascript
Nodejs 发布自己的npm包并制作成命令行工具的实例讲解
2018/05/15 NodeJs
Python警察与小偷的实现之一客户端与服务端通信实例
2014/10/09 Python
Python制作简易注册登录系统
2016/12/15 Python
Python实现通讯录功能
2018/02/22 Python
Pyqt实现无边框窗口拖动以及窗口大小改变
2018/04/19 Python
python发送告警邮件脚本
2018/09/17 Python
Python实现定时执行任务的三种方式简单示例
2019/03/30 Python
django与vue的完美结合_实现前后端的分离开发之后在整合的方法
2019/08/12 Python
Django自带的加密算法及加密模块详解
2019/12/03 Python
Python换行与不换行的输出实例
2020/02/19 Python
Linux安装Python3如何和系统自带的Python2并存
2020/07/23 Python
Python3获取cookie常用三种方案
2020/10/05 Python
python 实现的车牌识别项目
2021/01/25 Python
三只松鼠官方旗舰店:全网坚果销售第1
2017/11/25 全球购物
乐高瑞士官方商店:LEGO CH
2020/08/16 全球购物
美国床垫连锁店:Mattress Firm
2021/02/13 全球购物
Levi’s西班牙官方网站:李维斯,著名的牛仔裤品牌
2020/08/20 全球购物
Java里面StringBuilder和StringBuffer有什么区别
2016/06/06 面试题
好的旅游活动方案
2014/08/19 职场文书
Python打包exe时各种异常处理方案总结
2021/05/18 Python
golang三种设计模式之简单工厂、方法工厂和抽象工厂
2022/04/10 Golang
浅谈Redis变慢的原因及排查方法
2022/06/21 Redis