用js控制cookie(cookie操作类)

function cookie(name, value, expires, path, domain, secure) {
    // 初始化
    this.name = name;
    this.value = value;
    this.expires = expires;
    this.path = path;
    this.domain = domain;
    this.secure = secure;
    
    // 读取cookie
    this.read = function () {
        // 快捷操作
        var ck = document.cookie;
        
        var arg = this.name + "=";
        var alen = arg.length;
        var clen = ck.length;
        var i = 0;
        while (i < clen) {
            var j = i + alen;
            if (ck.substring(i, j) == arg) {
                var endstr = ck.indexOf(";", j);
                if (endstr == -1)
                    endstr = ck.length;
                return unescape(ck.substring(j, endstr));
            }
            i = ck.indexOf(" ", i) + 1;
            if (i == 0)
                break;
        }
        return null;
    }
    
    // 设置cookie
    this.set = function () {
        // 更新cookie过期时间
        expStore = this.expires;
        
        exp = new Date();
        base = new Date(0);
        skew = base.getTime();
        if (skew > 0)
            exp.setTime(exp.getTime() - skew);
        exp.setTime(exp.getTime() + (this.expires * 24 * 60 * 60 * 1000));
        this.expires = exp;
        
        document.cookie = this.name + "=" + escape(this.value) +
            ((this.expires) ? "; expires=" + this.expires.toGMTString() : "") +
            ((this.path) ? "; path=" + this.path : "") +
            ((this.domain) ? "; domain=" + this.domain : "") +
            ((this.secure) ? "; secure" : "");
        
        // 刷新cookie类中的cookie过期时间
        this.expires = expStore;
    }
    
    // 删除cookie
    this.kill = function () {
        document.cookie = this.name + "=" +
            ((this.path) ? "; path=" + this.path : "") +
            ((this.domain) ? "; domain=" + this.domain : "") +
            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
    
    // 更改cookie类中的cookie属性
    this.changeName = function (chName) {
        this.kill();
        this.name = chName;
        this.set();
    }
    this.changeVal = function (chVal) {
        this.kill();
        this.value = chVal;
        this.set();
    }
    this.changeExp = function (chExp) {
        this.kill();
        this.expires = chExp;
        this.set();
    }
    this.changePath = function (chPath) {
        this.kill();
        this.path = chPath;
        this.set();
    }
    this.changeDomain = function (chDom) {
        this.kill();
        this.domain = chDom;
        this.set();
    }
    this.changeSecurity = function (chSec) {
        this.kill();
        this.secure = chSec;
        this.set();
    }
}

编程技巧