分享一个常用的javascript静态类

废话不多说,直接奉上代码,知道干啥用的小伙伴直接带走吧。

代码如下:

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);
        }
    };
}();

是不是相当不错呢,反正我是很满意。

(0)

相关推荐

  • Javascript中的五种数据类型详解

    Undefined 未定义.只有一个值undefined Null 只有一个值,null Boolean 在javascript中,只要逻辑表达式不返回undefined不返回null,就都是真的. 复制代码 代码如下: if(3) true if(null) false if(undefined) false Number String javascript中不存在char类型. 字符串定义可以用单引号,也可以用双引号. 复制代码 代码如下: <html> <head> <

  • javascript中定义类的方法汇总

    JS中定义类的方式有很多种: 1.工厂方式 复制代码 代码如下: function Car(){    var ocar = new Object;    ocar.color = "blue";    ocar.doors = 4;    ocar.showColor = function(){     document.write(this.color)    };    return ocar;   }   var car1 = Car();   var car2 = Car()

  • JavaScript定义类和对象的方法

    本文实例讲述了JavaScript定义类和对象的方法.分享给大家供大家参考.具体方法如下: 在JS中,类和对象有多种不同的写法,因为本人对JS也不怎么熟,所以就本人的理解来写,如果哪位朋友发现有不对,请告之,共同学习. JS定义一个类有两种定法(我只知道这两种): 1. 定义函数的方式: 定义: 复制代码 代码如下: function classA(a) {      this.aaa=a;  //添加一个属性      this.methodA=function(ppp)  //添加一个方法

  • 如何用JavaScript定义一个类

    我原来的写法都是这样: function Dog(){ this.name = 'hachi'; } Dog.prototype = { makeNoise:function(){ alert('wangwangwang'); } }; 后来又看到另外一种复杂一点而且看起来好像没有必要的写法: function Dog(){ var privateVariable = 'secret'; var fn = function(){ //... } fn.prototype = { makeNois

  • JavaScript中的类与实例实现方法

    本文实例讲述了JavaScript中的类与实例实现方法.分享给大家供大家参考.具体如下: JavaScript 中没有父类, 子类的概念, 也没有class 和 instance 的概念, 全靠 prototype chain来实现继承. 当查找一个对象的属性时, JavaScript 会向上遍历 prototype chain, 直到找到对应的属性为止. 有几种方法, 可以使得 JavaScript 模拟出 class 和 instance 的概念. 1. 直接使用构造函数来创建对象, 在构造

  • JavaScript中的类(Class)详细介绍

    在JavaScript中,可以使用类(Class)来实现面向对象编程(Object Oriented Programming).不过,JavaScript中的类与Java中的有所不同,其相应的定义和使用也不一样. JavaScript中类的定义 在JavaScript中,所有从同一个原型对象(prototype)处衍生出来的对象组成了一个类:也就是说,JavaScript中的类是一个对象集合的概念,如果两个对象它们的prototype相同,那么它们就属于同一个类:JavaScript中的类甚至都

  • 浅谈JavaScript实现面向对象中的类

    对象,是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则.计划或事件.--引自百度百科 面向对象编程,是当前最流行的编程模式.但令人沮丧的是,作为前端应用最为广泛的javascript,并不支持面向对象. javascript没有访问控制符,它没有定义类的关键字class,它没有支持继承的extend或冒号,它也没有用 来支持虚函数的virtual,不过,Javascript是一门灵活的语言,下面我们就看看没有关键字class的Jav

  • 分享一个常用的javascript静态类

    废话不多说,直接奉上代码,知道干啥用的小伙伴直接带走吧. 复制代码 代码如下: util=function(){     return {         $:function(id){             return document.getElementById(id);         },         trim:function(str){             return str.replace(/(^\s+)|(\s+$)/g, "");         },

  • 分享一个常用的Python模拟登陆类

    代码非常简单,而且注释也很详细,这里就不多废话了 tools.py # -*- coding:utf8 -*- ''' # ============================================================================= # FileName: tools.py # Desc: 模拟浏览器 # Author: cosven # Email: yinshaowen241@gmail.com # HomePage: www.cosven.co

  • 分享一个原生的JavaScript拖动方法

    代码: function drag(t,p){ var point = p || null, target = t || null, resultX = 0, resultY = 0; (!point)? point = target : ''; //如果没有拖动点,则拖动点默认为整个别拖动元素 function getPos(t){ var offsetLeft = 0, offsetTop = 0, offsetParent = t; while(offsetParent){ offsetL

  • 一个简单的JavaScript Map实例(分享)

    用js写了一个Map,带遍历功能,请大家点评下啦. //map.js Array.prototype.remove = function(s) { for (var i = 0; i < this.length; i++) { if (s == this[i]) this.splice(i, 1); } } /** * Simple Map * * * var m = new Map(); * m.put('key','value'); * ... * var s = ""; *

  • 简单了解常用的JavaScript 库

    JavaScript 高级程序设计(特别是对浏览器差异的复杂处理),通常很困难也很耗时. 为了应对这些调整,许多的 JavaScript (helper) 库应运而生. 这些 JavaScript 库常被称为 JavaScript 框架. 在本教程中,我们将了解到一些广受欢迎的 JavaScript 框架: jQuery Prototype MooTools 所有这些框架都提供针对常见 JavaScript 任务的函数,包括动画.DOM 操作以及 Ajax 处理. 在本教程中,您将学习到如何开始

  • 分享一个插件实现水珠自动下落效果

    分享一个水珠自动下落的插件,下载地址:https://github.com/foreverjiangting/rainyday.js 下面来看看如何使用它?添加下面代码即可运行它. 实现效果如下: 代码如下: <!DOCTYPE HTML> <html> <head> <style> </style> <meta http-equiv="Content-Type" content="text/html; cha

  • 常用的JavaScript数组方法

    目录 1.filter() 2.forEach() 3.some() 4.every() 5.reduce() 6.合并数组 1.filter() 语法: array.filter(function(currentValue,index,arr), thisValue) 参数说明: currentValue:当前元素对象(必选) index:当前元素的索引值(可选) arr:当前元素属于的数组对象(可选) thisValue:对象作为该执行回调时使用,传递给函数,用作 "this" 的

  • 一个轻量级的javascript库 pj介绍

    相对于其他语言来说,javascript脚本语言太小巧玲珑了,活泼灵动.个人非常喜欢写javascript代码.虽说网络上出名的javascript库充斥网络,jQuery.Prototype.Base.ExtJs--,功能也非常强大,使用起来也方便.但是有一个不太令人满意的地方,就是库本身太大了.有时只是用其中几个功能就必须得把整个库引进来,就jQuery来说,压缩了也还有70多KB,有时比一个网页文件还大.但我们有需要一个库来协助开发,所以自己就写了一个轻量级的javascript库,只支持

  • 15个常用的javaScript正则表达式(收藏)

    1 用户名正则 //用户名正则,4到16位(字母,数字,下划线,减号) var uPattern = /^[a-zA-Z0-9_-]{4,16}$/; //输出 true console.log(uPattern.test("iFat3")); 2 密码强度正则 //密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符 var pPattern = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%

  • 发布一个高效的JavaScript分析、压缩工具 JavaScript Analyser

    发布一个高效的JavaScript分析.压缩工具 JavaScript Analyser 先发一段脚本压缩示例,展示一下JSA语法压缩和优化功能. 复制代码 代码如下: try {         //xxxx();     } catch (e) {         yyyy();         function f1() {         }     } finally {         zzzz();     } function f2(var1) {         var var

随机推荐